diff options
author | Tommaso Tocci <tommaso.tocci@mongodb.com> | 2022-03-22 12:24:59 +0000 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2022-03-22 12:52:04 +0000 |
commit | d10d9bd036a9133f6fc3877f5dfc1f4a2c26e9c9 (patch) | |
tree | 4fdae86ad4cd0de768c3966e9122faf16f4e2350 /src/mongo/db/s/create_collection_coordinator.h | |
parent | 5a0ab65aa16f3f70dc4dfb08be53bd4c283c28f0 (diff) | |
download | mongo-d10d9bd036a9133f6fc3877f5dfc1f4a2c26e9c9.tar.gz |
SERVER-64559 Simplify critical section reason for create collection coordinator
Diffstat (limited to 'src/mongo/db/s/create_collection_coordinator.h')
-rw-r--r-- | src/mongo/db/s/create_collection_coordinator.h | 26 |
1 files changed, 24 insertions, 2 deletions
diff --git a/src/mongo/db/s/create_collection_coordinator.h b/src/mongo/db/s/create_collection_coordinator.h index aed857f3e67..1224627ee1a 100644 --- a/src/mongo/db/s/create_collection_coordinator.h +++ b/src/mongo/db/s/create_collection_coordinator.h @@ -65,6 +65,9 @@ public: return *_result; } +protected: + CoordDoc _doc; + private: ShardingDDLCoordinatorMetadata const& metadata() const override { return _doc.getShardingDDLCoordinatorMetadata(); @@ -146,8 +149,17 @@ private: */ void _logEndCreateCollection(OperationContext* opCtx); - CoordDoc _doc; - BSONObj _critSecReason; + /** + * Returns the BSONObj used as critical section reason + * + * TODO SERVER-64720 remove this function, directly access _critSecReason + * + */ + virtual const BSONObj& _getCriticalSectionReason() const { + return _critSecReason; + }; + + const BSONObj _critSecReason; // Objects generated on each execution. boost::optional<ShardKeyPattern> _shardKeyPattern; @@ -176,6 +188,16 @@ class CreateCollectionCoordinatorPre60Compatible final : public CreateCollection public: using CreateCollectionCoordinator::CreateCollectionCoordinator; using CoordDoc = CreateCollectionCoordinatorDocumentPre60Compatible; + + CreateCollectionCoordinatorPre60Compatible(ShardingDDLCoordinatorService* service, + const BSONObj& initialState); + + virtual const BSONObj& _getCriticalSectionReason() const override { + return _critSecReason; + }; + +private: + const BSONObj _critSecReason; }; } // namespace mongo |