Operational Defect Database

BugZero found this defect 2430 days ago.

MongoDB | 399288

[SERVER-29922] killop.js should check that numYields is positive before killing

Last update date:


Affected products:

MongoDB Server

Affected releases:

No affected releases provided.

Fixed releases:

No fixed releases provided.



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.

Top User Comments

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.

Additional Resources / Links


BugZero Risk Score

Coming soon



Have you been affected by this bug?


Do you know how much operational outages are costing you?

Understand the cost to your business and how BugZero can help you reduce those costs.


Login to read and write comments.

Have you ever...

had your data corrupted from a