[SERVER-39960] Simplify OpCtx::markKilled Created: 05/Mar/19 Updated: 29/Oct/23 Resolved: 11/Mar/19 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Internal Code |
| Affects Version/s: | None |
| Fix Version/s: | 4.1.9 |
| Type: | Improvement | Priority: | Major - P3 |
| Reporter: | Mira Carey | Assignee: | Mira Carey |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Backwards Compatibility: | Fully Compatible |
| Sprint: | Service Arch 2019-03-11, Service Arch 2019-03-25 |
| Participants: |
| Description |
|
Operation context currently relies on an elaborate dance between the client lock, _waitMutex, _waitCV and _numKillers to allow markKilled to tap the condvar an opctx is waiting on. After the introduction of batons on all opctx's, this is no longer necessary (as batons have their own support for being woken, while waiting on a condvar). Removing the special killing code will simplify opctx, and remove a lot of extra book keeping. |
| Comments |
| Comment by Githook User [ 11/Mar/19 ] |
|
Author: {'name': 'Jason Carey', 'username': 'hanumantmk', 'email': 'jcarey@argv.me'}Message: Operation context currently relies on an elaborate dance between the After the introduction of batons on all opctx's, this is no longer |
| Comment by Mira Carey [ 05/Mar/19 ] |
|
It does not. We still need those for mapReduce, for now |
| Comment by Andy Schwerin [ 05/Mar/19 ] |
|
Does this include removing the killOp observers from ServiceContext? |