summaryrefslogtreecommitdiff
path: root/src/mongo/db/keys_collection_client_sharded.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo/db/keys_collection_client_sharded.h')
-rw-r--r--src/mongo/db/keys_collection_client_sharded.h24
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