If it is passed a 'seconds' arg, the eventlet Timeout *constructor* schedules the timeout to be raised after that many seconds, even though the Timeout context manager has not need been entered. A unit test (test.unit.proxy.controllers.test_obj.TestECFragGetter. test_iter_bytes_from_response_part_read_timeout) was constructng a ChunkReadTimeout and passing seconds=9. The test happens to be one of the last to run, so the timeout fires during the pytest runner exit rather than another test: Error in atexit._run_exitfuncs: Traceback (most recent call last): File "/home/vagrant/.tox-swift/py38/lib/python3.8/site-packages/eventlet/greenthread.py", line 36, in sleep hub.switch() File "/home/vagrant/.tox-swift/py38/lib/python3.8/site-packages/eventlet/hubs/hub.py", line 313, in switch return self.greenlet.switch() swift.common.exceptions.ChunkReadTimeout: 9 seconds The seconds value was irrelevant to the test other than to provide a non-empty string representation of the Timeout. Related-Change: I76ea042ef4b3f5cc1caa4774e35d6191f4ca548e Change-Id: I5164a7e1d01a0f54983967f0db872c05928f904d
310 KiB
310 KiB