From ab0b6e3153ea228c1421ed2a37e916affb295d9a Mon Sep 17 00:00:00 2001 From: Benety Goh Date: Tue, 25 Aug 2020 10:02:58 -0400 Subject: SERVER-50506 make index builds non-resumable when storage engine is encrypted --- src/mongo/db/SConscript | 1 + src/mongo/db/index_builds_coordinator.cpp | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/src/mongo/db/SConscript b/src/mongo/db/SConscript index 89f4d1ae8e7..1720893208d 100644 --- a/src/mongo/db/SConscript +++ b/src/mongo/db/SConscript @@ -924,6 +924,7 @@ env.Library( '$BUILD_DIR/mongo/db/repl/repl_coordinator_interface', '$BUILD_DIR/mongo/db/repl/timestamp_block', '$BUILD_DIR/mongo/db/s/sharding_api_d', + '$BUILD_DIR/mongo/db/storage/encryption_hooks', '$BUILD_DIR/mongo/db/storage/storage_util', '$BUILD_DIR/mongo/util/fail_point', "$BUILD_DIR/mongo/executor/task_executor_interface", diff --git a/src/mongo/db/index_builds_coordinator.cpp b/src/mongo/db/index_builds_coordinator.cpp index 59ecd7559d8..954ad526597 100644 --- a/src/mongo/db/index_builds_coordinator.cpp +++ b/src/mongo/db/index_builds_coordinator.cpp @@ -58,6 +58,7 @@ #include "mongo/db/server_recovery.h" #include "mongo/db/service_context.h" #include "mongo/db/storage/durable_catalog.h" +#include "mongo/db/storage/encryption_hooks.h" #include "mongo/db/storage/storage_util.h" #include "mongo/logv2/log.h" #include "mongo/s/shard_key_pattern.h" @@ -409,6 +410,11 @@ bool isIndexBuildResumable(OperationContext* opCtx, return false; } + // TODO(SERVER-50479): Remove this check when resumable index builds work with ESE in GCM mode. + if (EncryptionHooks::get(opCtx->getServiceContext())->enabled()) { + return false; + } + if (!opCtx->getServiceContext()->getStorageEngine()->supportsResumableIndexBuilds()) { return false; } -- cgit v1.2.1