[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: SERVER-39960 Simplify opCtx::markKilled

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.
Branch: master
https://github.com/mongodb/mongo/commit/1659623793b9d337e4061fc294ec258c99b1171e

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?

Generated at Thu Feb 08 04:53:37 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.