[SERVER-23905] Unify various implementations of OperationContext Created: 25/Apr/16  Updated: 25/Jan/17  Resolved: 03/Jun/16

Status: Closed
Project: Core Server
Component/s: Internal Code
Affects Version/s: None
Fix Version/s: 3.3.8

Type: Improvement Priority: Major - P3
Reporter: Andy Schwerin Assignee: Andy Schwerin
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Backwards Compatibility: Fully Compatible
Sprint: Sharding 14 (05/13/16), Sharding 15 (06/03/16), Sharding 16 (06/24/16)
Participants:

 Description   

There should only be one implementation of OperationContext, that is simply configured and decorated differently in mongos, mongod and tests.



 Comments   
Comment by Githook User [ 03/Jun/16 ]

Author:

{u'username': u'andy10gen', u'name': u'Andy Schwerin', u'email': u'schwerin@mongodb.com'}

Message: SERVER-23905 Fix compile on OS X 10.10.

The libc++ implementation of unique_ptr on OSX 10.10, or perhaps the version of
llvm on that platform, cannot handle returning a value of type unique_ptr<Y> in
a function whose return type is unique_ptr<X>, when Y is derived from X. The
workaround is to return std::move(returnvalue).
Branch: master
https://github.com/mongodb/mongo/commit/8a3e35c1124b8d145bfc6073207f1d1b83db48c3

Comment by Githook User [ 03/Jun/16 ]

Author:

{u'username': u'andy10gen', u'name': u'Andy Schwerin', u'email': u'schwerin@mongodb.com'}

Message: SERVER-23905 Unify lifetime management for LockState on OperationContexts into OperationContext.

This change also moves responsibility for registering OperationContexts to Clients into
ServiceContext::makeOperationContext.
Branch: master
https://github.com/mongodb/mongo/commit/910e782aa5d8329c5e8b2531cf0116052e8a187e

Comment by Githook User [ 27/May/16 ]

Author:

{u'username': u'andy10gen', u'name': u'Andy Schwerin', u'email': u'schwerin@mongodb.com'}

Message: SERVER-23905 Unify implementations of operation id assignment into ServiceContext.
Branch: master
https://github.com/mongodb/mongo/commit/afbdaca2a1353c7a5103dc315d7d635acd437243

Comment by Githook User [ 27/May/16 ]

Author:

{u'username': u'andy10gen', u'name': u'Andy Schwerin', u'email': u'schwerin@mongodb.com'}

Message: SERVER-23905 Move global operation killing implementations from ServiceContextMongoD to ServiceContext.
Branch: master
https://github.com/mongodb/mongo/commit/a47b34136b9952865e060a6126fffc2a8a252d6d

Comment by Githook User [ 27/May/16 ]

Author:

{u'username': u'andy10gen', u'name': u'Andy Schwerin', u'email': u'schwerin@mongodb.com'}

Message: SERVER-23905 Remove getNS() from OperationContext.
Branch: master
https://github.com/mongodb/mongo/commit/2ed62dcea1bb786fd166de499b3a9af72bebc41b

Comment by Max Hirschhorn [ 24/May/16 ]

Author:

{u'username': u'andy10gen', u'name': u'Andy Schwerin', u'email': u'schwerin@mongodb.com'}

Message: SERVER-23095 Remove direct instantiations of OperationContextReplMock

This facilitates unifying checkForInterrupt's implementation into OperationContext.
Branch: master
https://github.com/mongodb/mongo/commit/0ed049682378896e5c2eb4f689ebbed722323a12

Comment by Githook User [ 24/May/16 ]

Author:

{u'username': u'andy10gen', u'name': u'Andy Schwerin', u'email': u'schwerin@mongodb.com'}

Message: SERVER-23905 Remove isPrimaryFor from OperationContext.
Branch: master
https://github.com/mongodb/mongo/commit/16e30e94be91617f710967dc404c4cf6f76388f3

Comment by Githook User [ 24/May/16 ]

Author:

{u'username': u'andy10gen', u'name': u'Andy Schwerin', u'email': u'schwerin@mongodb.com'}

Message: SERVER-23905 Move RecoveryUnit storage to OperationContext from its subclasses.
Branch: master
https://github.com/mongodb/mongo/commit/47a685fdab7a6506d15e3d37665624594f5e8ea7

Comment by Githook User [ 24/May/16 ]

Author:

{u'username': u'andy10gen', u'name': u'Andy Schwerin', u'email': u'schwerin@mongodb.com'}

Message: SERVER-23905 Move writesAreReplicated flag from OperationContextImpl to OperationContext.

This removes the last difference between OperationContextNoop and
OperationContextReplMock, so this patch also deletes the latter.
Branch: master
https://github.com/mongodb/mongo/commit/8a08cedcdf5a7edb3ad3da1bcbd2cf2a426be547

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