summaryrefslogtreecommitdiff
path: root/src/mongo/db/storage/wiredtiger/wiredtiger_util.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo/db/storage/wiredtiger/wiredtiger_util.h')
-rw-r--r--src/mongo/db/storage/wiredtiger/wiredtiger_util.h26
1 files changed, 10 insertions, 16 deletions
diff --git a/src/mongo/db/storage/wiredtiger/wiredtiger_util.h b/src/mongo/db/storage/wiredtiger/wiredtiger_util.h
index 83bcd4e0293..618add61bf8 100644
--- a/src/mongo/db/storage/wiredtiger/wiredtiger_util.h
+++ b/src/mongo/db/storage/wiredtiger/wiredtiger_util.h
@@ -158,6 +158,8 @@ private:
WiredTigerUtil();
public:
+ static constexpr StringData kConfigStringField = "configString"_sd;
+
/**
* Fetch the type and source fields out of the colgroup metadata. 'tableUri' must be a
* valid table: uri.
@@ -315,8 +317,6 @@ public:
static void notifyStartupComplete();
- static void resetTableLoggingInfo();
-
static bool useTableLogging(const NamespaceString& nss);
static Status setTableLogging(OperationContext* opCtx, const std::string& uri, bool on);
@@ -334,6 +334,14 @@ public:
template <typename T>
static T castStatisticsValue(uint64_t statisticsValue);
+ /**
+ * Removes encryption configuration from a config string. Should only be applied on custom
+ * config strings on secondaries. Fixes an issue where encryption configuration might be
+ * replicated to non-encrypted nodes, or nodes with different encryption options, causing
+ * initial sync or replication to fail. See SERVER-68122.
+ */
+ static void removeEncryptionFromConfigString(std::string* configString);
+
private:
/**
* Casts unsigned 64-bit statistics value to T.
@@ -341,20 +349,6 @@ private:
*/
template <typename T>
static T _castStatisticsValue(uint64_t statisticsValue, T maximumResultType);
-
- static Status _setTableLogging(WiredTigerSessionCache* sessionCache,
- const std::string& uri,
- bool on);
-
- // Used to keep track of the table logging setting modifications during start up. The mutex must
- // be held prior to accessing any of the member variables in the struct.
- static Mutex _tableLoggingInfoMutex;
- static struct TableLoggingInfo {
- bool isInitializing = true;
- bool isFirstTable = true;
- bool changeTableLogging = false;
- bool hasPreviouslyIncompleteTableChecks = false;
- } _tableLoggingInfo;
};
class WiredTigerConfigParser {