...
BugZero found this defect 2723 days ago.
In killop.js, we check that a find is running, and then kill the operation. We then check that the operation is set as killPending. This assumes that the operation had already yielded before we kill it, so that it gets marked as killPending instead of being killed immediately. We should verify here that the operation has numYields > 0. While we are modifying this test, we could also add a filter to the currentOp in the error output, to make debugging easier.
xgen-internal-githook commented on Thu, 27 Jul 2017 20:53:49 +0000: Author: {'email': 'tess.avitabile@mongodb.com', 'username': 'tessavitabile', 'name': 'Tess Avitabile'} Message: SERVER-29922 killop.js should check that numYields is positive before killing Branch: master https://github.com/mongodb/mongo/commit/aeb063081910c049c6ddad9484f1472407425292 tess.avitabile commented on Thu, 27 Jul 2017 19:00:24 +0000: Note the above comment was for the original plan to check waitingForLock. tess.avitabile commented on Thu, 20 Jul 2017 20:31:42 +0000: Unfortunately, the failpoint setYieldAllLocksHang does not set waitingForLock in the currentOp output. waitingForLock is set here if there is a valid waiting resource. However, when we are pausing for setYieldAllLocksHang, we have just released all locks. This removes all resources from the lock state. Therefore this strategy for checking to see if we have reached the fail point will not work.