[SERVER-10550] CurOp::_killPending not always cleared between client operations Created: 16/Aug/13 Updated: 12/Jan/16 Resolved: 12/Jan/16 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Internal Code |
| Affects Version/s: | 2.5.1 |
| Fix Version/s: | None |
| Type: | Bug | Priority: | Minor - P4 |
| Reporter: | J Rassi | Assignee: | Unassigned |
| Resolution: | Done | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||||||
| Operating System: | ALL | ||||||||||||||||
| Participants: | |||||||||||||||||
| Description |
|
CurOp::_reset() is not called before running $cmd.sys operations. This can cause $cmd.sys operations to be erroneously killed if they are run directly following another operation that is killed. The interruption could occur, for example, in an auth-enabled system during the killCurrentOp.checkForInterrupt() call in BtreeCursor::advance(), if the authorization check for the $cmd.sys op has to fetch a privilege document from disk. |
| Comments |
| Comment by J Rassi [ 12/Jan/16 ] |
|
As of changes made for 3.2 in Closing as "Gone Away". |