diff options
author | jannaerin <golden.janna@gmail.com> | 2018-03-29 10:57:49 -0400 |
---|---|---|
committer | jannaerin <golden.janna@gmail.com> | 2018-03-29 11:59:51 -0400 |
commit | ffe832ba22cc229478fc8b845117cb94993b6039 (patch) | |
tree | 5b433eda1f8a8ac56b7fd02212de71b14d6594c1 /src | |
parent | b0f022596c6b80e5d2d331f8fe3172c28954c027 (diff) | |
download | mongo-ffe832ba22cc229478fc8b845117cb94993b6039.tar.gz |
SERVER-34145 Add stub methods for persisting DB version on primary
Diffstat (limited to 'src')
-rw-r--r-- | src/mongo/db/s/catalog_cache_loader_mock.cpp | 6 | ||||
-rw-r--r-- | src/mongo/db/s/catalog_cache_loader_mock.h | 4 | ||||
-rw-r--r-- | src/mongo/db/s/read_only_catalog_cache_loader.cpp | 6 | ||||
-rw-r--r-- | src/mongo/db/s/read_only_catalog_cache_loader.h | 4 | ||||
-rw-r--r-- | src/mongo/db/s/shard_server_catalog_cache_loader.cpp | 6 | ||||
-rw-r--r-- | src/mongo/db/s/shard_server_catalog_cache_loader.h | 4 | ||||
-rw-r--r-- | src/mongo/s/catalog_cache_loader.h | 16 | ||||
-rw-r--r-- | src/mongo/s/config_server_catalog_cache_loader.cpp | 6 | ||||
-rw-r--r-- | src/mongo/s/config_server_catalog_cache_loader.h | 4 |
9 files changed, 56 insertions, 0 deletions
diff --git a/src/mongo/db/s/catalog_cache_loader_mock.cpp b/src/mongo/db/s/catalog_cache_loader_mock.cpp index 7b3a3b03c2d..a63347018c8 100644 --- a/src/mongo/db/s/catalog_cache_loader_mock.cpp +++ b/src/mongo/db/s/catalog_cache_loader_mock.cpp @@ -124,6 +124,12 @@ std::shared_ptr<Notification<void>> CatalogCacheLoaderMock::getChunksSince( return notify; } +void CatalogCacheLoaderMock::getDatabase( + StringData dbName, + stdx::function<void(OperationContext*, StatusWith<DatabaseType>)> callbackFn) { + // Not implemented +} + void CatalogCacheLoaderMock::setCollectionRefreshReturnValue( StatusWith<CollectionType> statusWithCollectionType) { _swCollectionReturnValue = std::move(statusWithCollectionType); diff --git a/src/mongo/db/s/catalog_cache_loader_mock.h b/src/mongo/db/s/catalog_cache_loader_mock.h index 18da4671f2b..50db1c4a7b5 100644 --- a/src/mongo/db/s/catalog_cache_loader_mock.h +++ b/src/mongo/db/s/catalog_cache_loader_mock.h @@ -59,6 +59,10 @@ public: stdx::function<void(OperationContext*, StatusWith<CollectionAndChangedChunks>)> callbackFn) override; + void getDatabase( + StringData dbName, + stdx::function<void(OperationContext*, StatusWith<DatabaseType>)> callbackFn) override; + /** * Sets the mocked collection entry result that getChunksSince will use to construct its return * value. diff --git a/src/mongo/db/s/read_only_catalog_cache_loader.cpp b/src/mongo/db/s/read_only_catalog_cache_loader.cpp index 1b8175cba41..55fa0f2fab4 100644 --- a/src/mongo/db/s/read_only_catalog_cache_loader.cpp +++ b/src/mongo/db/s/read_only_catalog_cache_loader.cpp @@ -46,4 +46,10 @@ std::shared_ptr<Notification<void>> ReadOnlyCatalogCacheLoader::getChunksSince( return _configServerLoader.getChunksSince(nss, version, callbackFn); } +void ReadOnlyCatalogCacheLoader::getDatabase( + StringData dbName, + stdx::function<void(OperationContext*, StatusWith<DatabaseType>)> callbackFn) { + // stub +} + } // namespace mongo diff --git a/src/mongo/db/s/read_only_catalog_cache_loader.h b/src/mongo/db/s/read_only_catalog_cache_loader.h index eca54264caf..368f18f4881 100644 --- a/src/mongo/db/s/read_only_catalog_cache_loader.h +++ b/src/mongo/db/s/read_only_catalog_cache_loader.h @@ -51,6 +51,10 @@ public: stdx::function<void(OperationContext*, StatusWith<CollectionAndChangedChunks>)> callbackFn) override; + void getDatabase( + StringData dbName, + stdx::function<void(OperationContext*, StatusWith<DatabaseType>)> callbackFn) override; + private: ConfigServerCatalogCacheLoader _configServerLoader; }; diff --git a/src/mongo/db/s/shard_server_catalog_cache_loader.cpp b/src/mongo/db/s/shard_server_catalog_cache_loader.cpp index 4f831c4382f..a409b409feb 100644 --- a/src/mongo/db/s/shard_server_catalog_cache_loader.cpp +++ b/src/mongo/db/s/shard_server_catalog_cache_loader.cpp @@ -381,6 +381,12 @@ std::shared_ptr<Notification<void>> ShardServerCatalogCacheLoader::getChunksSinc return notify; } +void ShardServerCatalogCacheLoader::getDatabase( + StringData dbName, + stdx::function<void(OperationContext*, StatusWith<DatabaseType>)> callbackFn) { + // stub method +} + void ShardServerCatalogCacheLoader::waitForCollectionFlush(OperationContext* opCtx, const NamespaceString& nss) { stdx::unique_lock<stdx::mutex> lg(_mutex); diff --git a/src/mongo/db/s/shard_server_catalog_cache_loader.h b/src/mongo/db/s/shard_server_catalog_cache_loader.h index 4a6debf8326..867ae7e2b12 100644 --- a/src/mongo/db/s/shard_server_catalog_cache_loader.h +++ b/src/mongo/db/s/shard_server_catalog_cache_loader.h @@ -89,6 +89,10 @@ public: stdx::function<void(OperationContext*, StatusWith<CollectionAndChangedChunks>)> callbackFn) override; + void getDatabase( + StringData dbName, + stdx::function<void(OperationContext*, StatusWith<DatabaseType>)> callbackFn) override; + void waitForCollectionFlush(OperationContext* opCtx, const NamespaceString& nss) override; private: diff --git a/src/mongo/s/catalog_cache_loader.h b/src/mongo/s/catalog_cache_loader.h index ebafdff76fd..7f0737eed77 100644 --- a/src/mongo/s/catalog_cache_loader.h +++ b/src/mongo/s/catalog_cache_loader.h @@ -35,6 +35,7 @@ #include "mongo/base/string_data.h" #include "mongo/s/catalog/type_chunk.h" #include "mongo/s/catalog/type_collection.h" +#include "mongo/s/catalog/type_database.h" #include "mongo/s/chunk_version.h" #include "mongo/stdx/memory.h" #include "mongo/util/concurrency/notification.h" @@ -126,6 +127,21 @@ public: callbackFn) = 0; /** + * Non-blocking call, which requests the most recent db version for the given dbName from the + * the persistent metadata store and invokes the callback function with the result. + * The callback function must never throw - it is a fatal error to do so. + * + * If for some reason the asynchronous fetch operation cannot be dispatched (for example on + * shutdown), throws a DBException. Otherwise it is guaranteed that the callback function will + * be invoked even on error. + * + * The callbackFn object must not be destroyed until it has been called. + */ + virtual void getDatabase( + StringData dbName, + stdx::function<void(OperationContext*, StatusWith<DatabaseType>)> callbackFn) = 0; + + /** * Waits for any pending changes for the specified collection to be persisted locally (not * necessarily replicated). If newer changes come after this method has started running, they * will not be waited for except if there is a drop. diff --git a/src/mongo/s/config_server_catalog_cache_loader.cpp b/src/mongo/s/config_server_catalog_cache_loader.cpp index 49bbe011939..c7a748ca40f 100644 --- a/src/mongo/s/config_server_catalog_cache_loader.cpp +++ b/src/mongo/s/config_server_catalog_cache_loader.cpp @@ -186,4 +186,10 @@ std::shared_ptr<Notification<void>> ConfigServerCatalogCacheLoader::getChunksSin return notify; } +void ConfigServerCatalogCacheLoader::getDatabase( + StringData dbName, + stdx::function<void(OperationContext*, StatusWith<DatabaseType>)> callbackFn) { + // stub +} + } // namespace mongo diff --git a/src/mongo/s/config_server_catalog_cache_loader.h b/src/mongo/s/config_server_catalog_cache_loader.h index 5911dcb897a..2d2d246149f 100644 --- a/src/mongo/s/config_server_catalog_cache_loader.h +++ b/src/mongo/s/config_server_catalog_cache_loader.h @@ -53,6 +53,10 @@ public: stdx::function<void(OperationContext*, StatusWith<CollectionAndChangedChunks>)> callbackFn) override; + void getDatabase( + StringData dbName, + stdx::function<void(OperationContext*, StatusWith<DatabaseType>)> callbackFn) override; + private: // Thread pool to be used to perform metadata load ThreadPool _threadPool; |