diff options
Diffstat (limited to 'src/mongo/db/keys_collection_client_sharded.h')
-rw-r--r-- | src/mongo/db/keys_collection_client_sharded.h | 24 |
1 files changed, 18 insertions, 6 deletions
diff --git a/src/mongo/db/keys_collection_client_sharded.h b/src/mongo/db/keys_collection_client_sharded.h index 111948e0139..5ab20a626cd 100644 --- a/src/mongo/db/keys_collection_client_sharded.h +++ b/src/mongo/db/keys_collection_client_sharded.h @@ -40,13 +40,25 @@ public: KeysCollectionClientSharded(ShardingCatalogClient*); /** - * Returns keys for the given purpose and with an expiresAt value greater than newerThanThis, - * using readConcern level majority if possible. + * Returns keys in the config server's admin.system.keys that match the given purpose and have + * an expiresAt value greater than newerThanThis. Uses readConcern level majority if possible. */ - StatusWith<std::vector<KeysCollectionDocument>> getNewKeys(OperationContext* opCtx, - StringData purpose, - const LogicalTime& newerThanThis, - bool useMajority) override; + StatusWith<std::vector<KeysCollectionDocument>> getNewInternalKeys( + OperationContext* opCtx, + StringData purpose, + const LogicalTime& newerThanThis, + bool useMajority) override; + + /** + * Returns validation-only keys copied from other clusters that match the given purpose + * and have an expiresAt value greater than newerThanThis. Uses readConcern level majority if + * possible. Currently, a sharded cluster never copies cluster time keys from other clusters. + */ + StatusWith<std::vector<ExternalKeysCollectionDocument>> getNewExternalKeys( + OperationContext* opCtx, + StringData purpose, + const LogicalTime& newerThanThis, + bool useMajority) override; /** * Directly inserts a key document to the storage |