Details
-
Improvement
-
Resolution: Fixed
-
Major - P3
-
None
-
None
-
Fully Compatible
-
TIG 2018-05-21
-
0
-
2
Description
In stepdown.py, if the stepdown thread exits before setting the idle event, we endlessly keep waiting to pause the stepdown thread.
[2018/04/11 00:18:17.596] Thread 140674028517120:
|
[2018/04/11 00:18:17.596] File "/opt/mongodbtoolchain/v2/lib/python2.7/threading.py", line 774, in __bootstrap
|
[2018/04/11 00:18:17.596] self.__bootstrap_inner()
|
[2018/04/11 00:18:17.596] File "/opt/mongodbtoolchain/v2/lib/python2.7/threading.py", line 801, in __bootstrap_inner
|
[2018/04/11 00:18:17.597] self.run()
|
[2018/04/11 00:18:17.597] File "/opt/mongodbtoolchain/v2/lib/python2.7/threading.py", line 754, in run
|
[2018/04/11 00:18:17.597] self.__target(*self.__args, **self.__kwargs)
|
[2018/04/11 00:18:17.597] File "/data/mci/bfe6b97b5e63a6c8969ac499179caac2/src/buildscripts/resmokelib/testing/job.py", line 45, in __call__
|
[2018/04/11 00:18:17.597] self._run(queue, interrupt_flag)
|
[2018/04/11 00:18:17.597] File "/data/mci/bfe6b97b5e63a6c8969ac499179caac2/src/buildscripts/resmokelib/testing/job.py", line 83, in _run
|
[2018/04/11 00:18:17.597] self._execute_test(test)
|
[2018/04/11 00:18:17.597] File "/data/mci/bfe6b97b5e63a6c8969ac499179caac2/src/buildscripts/resmokelib/testing/job.py", line 115, in _execute_test
|
[2018/04/11 00:18:17.597] self._run_hooks_after_tests(test)
|
[2018/04/11 00:18:17.597] File "/data/mci/bfe6b97b5e63a6c8969ac499179caac2/src/buildscripts/resmokelib/testing/job.py", line 168, in _run_hooks_after_tests
|
[2018/04/11 00:18:17.597] self._run_hook(hook, hook.after_test, test)
|
[2018/04/11 00:18:17.597] File "/data/mci/bfe6b97b5e63a6c8969ac499179caac2/src/buildscripts/resmokelib/testing/job.py", line 121, in _run_hook
|
[2018/04/11 00:18:17.597] hook_function(test, self.report)
|
[2018/04/11 00:18:17.597] File "/data/mci/bfe6b97b5e63a6c8969ac499179caac2/src/buildscripts/resmokelib/testing/hooks/stepdown.py", line 75, in after_test
|
[2018/04/11 00:18:17.597] self._stepdown_thread.pause()
|
[2018/04/11 00:18:17.597] File "/data/mci/bfe6b97b5e63a6c8969ac499179caac2/src/buildscripts/resmokelib/testing/hooks/stepdown.py", line 157, in pause
|
[2018/04/11 00:18:17.597] self._is_idle_evt.wait()
|
[2018/04/11 00:18:17.597] File "/opt/mongodbtoolchain/v2/lib/python2.7/threading.py", line 614, in wait
|
[2018/04/11 00:18:17.597] self.__cond.wait(timeout)
|
[2018/04/11 00:18:17.597] File "/opt/mongodbtoolchain/v2/lib/python2.7/threading.py", line 340, in wait
|
[2018/04/11 00:18:17.597] waiter.acquire()
|
This could be fixed in stepdown.py:
def _step_down_all(self):
|
self._is_idle_evt.clear()
|
try:
|
for rs_fixture in self._rs_fixtures:
|
self._step_down(rs_fixture)
|
finally:
|
self._is_idle_evt.set()
|