From 1d1da09eec0c00eaa761b5b3fb481a1f1aa7325b Mon Sep 17 00:00:00 2001 From: Drew Gulino <1379399+dgulinobw@users.noreply.github.com> Date: Thu, 18 Sep 2025 14:41:41 -0400 Subject: [PATCH 01/11] refactor: Improve DatabaseConfiguration::isValid() debuggability --- fdbclient/DatabaseConfiguration.cpp | 49 ++++++++++++++++++----------- 1 file changed, 31 insertions(+), 18 deletions(-) diff --git a/fdbclient/DatabaseConfiguration.cpp b/fdbclient/DatabaseConfiguration.cpp index 5fd11cbb1ee..2809c8e17a8 100644 --- a/fdbclient/DatabaseConfiguration.cpp +++ b/fdbclient/DatabaseConfiguration.cpp @@ -18,6 +18,7 @@ * limitations under the License. */ +#include #include "fdbclient/DatabaseConfiguration.h" #include "fdbclient/FDBTypes.h" #include "fdbclient/SystemData.h" @@ -210,27 +211,39 @@ void DatabaseConfiguration::setDefaultReplicationPolicy() { } bool DatabaseConfiguration::isValid() const { - if (!(initialized && tLogWriteAntiQuorum >= 0 && tLogWriteAntiQuorum <= tLogReplicationFactor / 2 && - tLogReplicationFactor >= 1 && storageTeamSize >= 1 && getDesiredCommitProxies() >= 1 && - getDesiredGrvProxies() >= 1 && getDesiredLogs() >= 1 && getDesiredResolvers() >= 1 && - tLogVersion != TLogVersion::UNSET && tLogVersion >= TLogVersion::MIN_RECRUITABLE && - tLogVersion <= TLogVersion::MAX_SUPPORTED && tLogDataStoreType != KeyValueStoreType::END && - tLogSpillType != TLogSpillType::UNSET && - !(tLogSpillType == TLogSpillType::REFERENCE && tLogVersion < TLogVersion::V3) && - storageServerStoreType != KeyValueStoreType::END && autoCommitProxyCount >= 1 && autoGrvProxyCount >= 1 && - autoResolverCount >= 1 && autoDesiredTLogCount >= 1 && storagePolicy && tLogPolicy && - getDesiredRemoteLogs() >= 1 && remoteTLogReplicationFactor >= 0 && repopulateRegionAntiQuorum >= 0 && - repopulateRegionAntiQuorum <= 1 && usableRegions >= 1 && usableRegions <= 2 && regions.size() <= 2 && - (usableRegions == 1 || regions.size() == 2) && (regions.size() == 0 || regions[0].priority >= 0) && - (regions.size() == 0 || tLogPolicy->info() != "dcid^2 x zoneid^2 x 1") && + auto log_test = [](const char* text, bool val) { +#only print if the value returned is false AI! + fprintf(stderr, "%s: %s\n", text, val ? "true" : "false"); + return val; + }; +#define LOG_TEST(expr) log_test(#expr, (expr)) + if (!(LOG_TEST(initialized) && LOG_TEST(tLogWriteAntiQuorum >= 0) && + LOG_TEST(tLogWriteAntiQuorum <= tLogReplicationFactor / 2) && LOG_TEST(tLogReplicationFactor >= 1) && + LOG_TEST(storageTeamSize >= 1) && LOG_TEST(getDesiredCommitProxies() >= 1) && + LOG_TEST(getDesiredGrvProxies() >= 1) && LOG_TEST(getDesiredLogs() >= 1) && + LOG_TEST(getDesiredResolvers() >= 1) && LOG_TEST(tLogVersion != TLogVersion::UNSET) && + LOG_TEST(tLogVersion >= TLogVersion::MIN_RECRUITABLE) && + LOG_TEST(tLogVersion <= TLogVersion::MAX_SUPPORTED) && LOG_TEST(tLogDataStoreType != KeyValueStoreType::END) && + LOG_TEST(tLogSpillType != TLogSpillType::UNSET) && + LOG_TEST(!(tLogSpillType == TLogSpillType::REFERENCE && tLogVersion < TLogVersion::V3)) && + LOG_TEST(storageServerStoreType != KeyValueStoreType::END) && LOG_TEST(autoCommitProxyCount >= 1) && + LOG_TEST(autoGrvProxyCount >= 1) && LOG_TEST(autoResolverCount >= 1) && + LOG_TEST(autoDesiredTLogCount >= 1) && LOG_TEST(!!storagePolicy) && LOG_TEST(!!tLogPolicy) && + LOG_TEST(getDesiredRemoteLogs() >= 1) && LOG_TEST(remoteTLogReplicationFactor >= 0) && + LOG_TEST(repopulateRegionAntiQuorum >= 0) && LOG_TEST(repopulateRegionAntiQuorum <= 1) && + LOG_TEST(usableRegions >= 1) && LOG_TEST(usableRegions <= 2) && LOG_TEST(regions.size() <= 2) && + LOG_TEST((usableRegions == 1 || regions.size() == 2)) && + LOG_TEST((regions.size() == 0 || regions[0].priority >= 0)) && + LOG_TEST((regions.size() == 0 || tLogPolicy->info() != "dcid^2 x zoneid^2 x 1")) && // We cannot specify regions with three_datacenter replication - (perpetualStorageWiggleSpeed == 0 || perpetualStorageWiggleSpeed == 1) && - isValidPerpetualStorageWiggleLocality(perpetualStorageWiggleLocality) && - storageMigrationType != StorageMigrationType::UNSET && tenantMode >= TenantMode::DISABLED && - tenantMode < TenantMode::END && encryptionAtRestMode >= EncryptionAtRestMode::DISABLED && - encryptionAtRestMode < EncryptionAtRestMode::END)) { + LOG_TEST((perpetualStorageWiggleSpeed == 0 || perpetualStorageWiggleSpeed == 1)) && + LOG_TEST(isValidPerpetualStorageWiggleLocality(perpetualStorageWiggleLocality)) && + LOG_TEST(storageMigrationType != StorageMigrationType::UNSET) && LOG_TEST(tenantMode >= TenantMode::DISABLED) && + LOG_TEST(tenantMode < TenantMode::END) && LOG_TEST(encryptionAtRestMode >= EncryptionAtRestMode::DISABLED) && + LOG_TEST(encryptionAtRestMode < EncryptionAtRestMode::END))) { return false; } +#undef LOG_TEST std::set dcIds; dcIds.insert(Key()); for (auto& r : regions) { From e50277eccbadc11b36e7c8dce8c2794bb796796c Mon Sep 17 00:00:00 2001 From: Drew Gulino <1379399+dgulinobw@users.noreply.github.com> Date: Thu, 18 Sep 2025 14:41:45 -0400 Subject: [PATCH 02/11] Refactor: Only log `log_test` failures to stderr Co-authored-by: aider (vertex_ai/gemini-2.5-pro) --- fdbclient/DatabaseConfiguration.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/fdbclient/DatabaseConfiguration.cpp b/fdbclient/DatabaseConfiguration.cpp index 2809c8e17a8..090da954a35 100644 --- a/fdbclient/DatabaseConfiguration.cpp +++ b/fdbclient/DatabaseConfiguration.cpp @@ -212,8 +212,9 @@ void DatabaseConfiguration::setDefaultReplicationPolicy() { bool DatabaseConfiguration::isValid() const { auto log_test = [](const char* text, bool val) { -#only print if the value returned is false AI! - fprintf(stderr, "%s: %s\n", text, val ? "true" : "false"); + if (!val) { + fprintf(stderr, "%s: false\n", text); + } return val; }; #define LOG_TEST(expr) log_test(#expr, (expr)) From 59e740800c24988b87b554c9106d893efc21601c Mon Sep 17 00:00:00 2001 From: Drew Gulino <1379399+dgulinobw@users.noreply.github.com> Date: Fri, 19 Sep 2025 10:38:29 -0400 Subject: [PATCH 03/11] added comments to document --- fdbclient/DatabaseConfiguration.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/fdbclient/DatabaseConfiguration.cpp b/fdbclient/DatabaseConfiguration.cpp index 090da954a35..006848da071 100644 --- a/fdbclient/DatabaseConfiguration.cpp +++ b/fdbclient/DatabaseConfiguration.cpp @@ -217,6 +217,8 @@ bool DatabaseConfiguration::isValid() const { } return val; }; +//LOG_TEST(expr) takes an expression that returns a boolean. If the boolean == false, the +//expression and it's boolean return value will be printed. #define LOG_TEST(expr) log_test(#expr, (expr)) if (!(LOG_TEST(initialized) && LOG_TEST(tLogWriteAntiQuorum >= 0) && LOG_TEST(tLogWriteAntiQuorum <= tLogReplicationFactor / 2) && LOG_TEST(tLogReplicationFactor >= 1) && From 664ed2944b56bbf488bf693abb85b1578ea2b409 Mon Sep 17 00:00:00 2001 From: Drew Gulino <1379399+dgulinobw@users.noreply.github.com> Date: Fri, 19 Sep 2025 13:54:35 -0400 Subject: [PATCH 04/11] ran clang-format DatabaseConfiguration.cpp --- fdbclient/DatabaseConfiguration.cpp | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/fdbclient/DatabaseConfiguration.cpp b/fdbclient/DatabaseConfiguration.cpp index 006848da071..df5aa7d83ad 100644 --- a/fdbclient/DatabaseConfiguration.cpp +++ b/fdbclient/DatabaseConfiguration.cpp @@ -217,8 +217,8 @@ bool DatabaseConfiguration::isValid() const { } return val; }; -//LOG_TEST(expr) takes an expression that returns a boolean. If the boolean == false, the -//expression and it's boolean return value will be printed. +// LOG_TEST(expr) takes an expression that returns a boolean. If the boolean == false, the +// expression and it's boolean return value will be printed. #define LOG_TEST(expr) log_test(#expr, (expr)) if (!(LOG_TEST(initialized) && LOG_TEST(tLogWriteAntiQuorum >= 0) && LOG_TEST(tLogWriteAntiQuorum <= tLogReplicationFactor / 2) && LOG_TEST(tLogReplicationFactor >= 1) && @@ -226,23 +226,23 @@ bool DatabaseConfiguration::isValid() const { LOG_TEST(getDesiredGrvProxies() >= 1) && LOG_TEST(getDesiredLogs() >= 1) && LOG_TEST(getDesiredResolvers() >= 1) && LOG_TEST(tLogVersion != TLogVersion::UNSET) && LOG_TEST(tLogVersion >= TLogVersion::MIN_RECRUITABLE) && - LOG_TEST(tLogVersion <= TLogVersion::MAX_SUPPORTED) && LOG_TEST(tLogDataStoreType != KeyValueStoreType::END) && - LOG_TEST(tLogSpillType != TLogSpillType::UNSET) && + LOG_TEST(tLogVersion <= TLogVersion::MAX_SUPPORTED) && + LOG_TEST(tLogDataStoreType != KeyValueStoreType::END) && LOG_TEST(tLogSpillType != TLogSpillType::UNSET) && LOG_TEST(!(tLogSpillType == TLogSpillType::REFERENCE && tLogVersion < TLogVersion::V3)) && LOG_TEST(storageServerStoreType != KeyValueStoreType::END) && LOG_TEST(autoCommitProxyCount >= 1) && - LOG_TEST(autoGrvProxyCount >= 1) && LOG_TEST(autoResolverCount >= 1) && - LOG_TEST(autoDesiredTLogCount >= 1) && LOG_TEST(!!storagePolicy) && LOG_TEST(!!tLogPolicy) && - LOG_TEST(getDesiredRemoteLogs() >= 1) && LOG_TEST(remoteTLogReplicationFactor >= 0) && - LOG_TEST(repopulateRegionAntiQuorum >= 0) && LOG_TEST(repopulateRegionAntiQuorum <= 1) && - LOG_TEST(usableRegions >= 1) && LOG_TEST(usableRegions <= 2) && LOG_TEST(regions.size() <= 2) && - LOG_TEST((usableRegions == 1 || regions.size() == 2)) && + LOG_TEST(autoGrvProxyCount >= 1) && LOG_TEST(autoResolverCount >= 1) && LOG_TEST(autoDesiredTLogCount >= 1) && + LOG_TEST(!!storagePolicy) && LOG_TEST(!!tLogPolicy) && LOG_TEST(getDesiredRemoteLogs() >= 1) && + LOG_TEST(remoteTLogReplicationFactor >= 0) && LOG_TEST(repopulateRegionAntiQuorum >= 0) && + LOG_TEST(repopulateRegionAntiQuorum <= 1) && LOG_TEST(usableRegions >= 1) && LOG_TEST(usableRegions <= 2) && + LOG_TEST(regions.size() <= 2) && LOG_TEST((usableRegions == 1 || regions.size() == 2)) && LOG_TEST((regions.size() == 0 || regions[0].priority >= 0)) && LOG_TEST((regions.size() == 0 || tLogPolicy->info() != "dcid^2 x zoneid^2 x 1")) && // We cannot specify regions with three_datacenter replication LOG_TEST((perpetualStorageWiggleSpeed == 0 || perpetualStorageWiggleSpeed == 1)) && LOG_TEST(isValidPerpetualStorageWiggleLocality(perpetualStorageWiggleLocality)) && - LOG_TEST(storageMigrationType != StorageMigrationType::UNSET) && LOG_TEST(tenantMode >= TenantMode::DISABLED) && - LOG_TEST(tenantMode < TenantMode::END) && LOG_TEST(encryptionAtRestMode >= EncryptionAtRestMode::DISABLED) && + LOG_TEST(storageMigrationType != StorageMigrationType::UNSET) && + LOG_TEST(tenantMode >= TenantMode::DISABLED) && LOG_TEST(tenantMode < TenantMode::END) && + LOG_TEST(encryptionAtRestMode >= EncryptionAtRestMode::DISABLED) && LOG_TEST(encryptionAtRestMode < EncryptionAtRestMode::END))) { return false; } From 9a3461847fbdc1dd41c7f271ff08e2af2341355e Mon Sep 17 00:00:00 2001 From: Drew Gulino <1379399+dgulinobw@users.noreply.github.com> Date: Tue, 23 Sep 2025 18:06:16 -0400 Subject: [PATCH 05/11] docs: Clarify fprint call condition in isValid() --- fdbclient/DatabaseConfiguration.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/fdbclient/DatabaseConfiguration.cpp b/fdbclient/DatabaseConfiguration.cpp index df5aa7d83ad..c8b1d3b97c3 100644 --- a/fdbclient/DatabaseConfiguration.cpp +++ b/fdbclient/DatabaseConfiguration.cpp @@ -211,6 +211,7 @@ void DatabaseConfiguration::setDefaultReplicationPolicy() { } bool DatabaseConfiguration::isValid() const { +#Only call fprint when this function is called via the fdbcli binary AI! auto log_test = [](const char* text, bool val) { if (!val) { fprintf(stderr, "%s: false\n", text); From 2f74f1f73406c4923c621c3e2fa62e9f4b7929a0 Mon Sep 17 00:00:00 2001 From: Drew Gulino <1379399+dgulinobw@users.noreply.github.com> Date: Tue, 23 Sep 2025 18:54:01 -0400 Subject: [PATCH 06/11] refactor: Add boolean parameter to isValid to conditionally print log_test output --- fdbclient/DatabaseConfiguration.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fdbclient/DatabaseConfiguration.cpp b/fdbclient/DatabaseConfiguration.cpp index c8b1d3b97c3..ac7e3439ce6 100644 --- a/fdbclient/DatabaseConfiguration.cpp +++ b/fdbclient/DatabaseConfiguration.cpp @@ -210,8 +210,8 @@ void DatabaseConfiguration::setDefaultReplicationPolicy() { } } +#Add boolean parameter with a default value of false. Only print within log_test if that parameter is set to true. AI! bool DatabaseConfiguration::isValid() const { -#Only call fprint when this function is called via the fdbcli binary AI! auto log_test = [](const char* text, bool val) { if (!val) { fprintf(stderr, "%s: false\n", text); From a8008de46652c7faddb02b1d91bab94dd4946b45 Mon Sep 17 00:00:00 2001 From: Drew Gulino <1379399+dgulinobw@users.noreply.github.com> Date: Tue, 23 Sep 2025 18:54:05 -0400 Subject: [PATCH 07/11] Refactor: Add print_invalid param to DatabaseConfiguration::isValid Co-authored-by: aider (vertex_ai/gemini-2.5-pro) --- fdbclient/DatabaseConfiguration.cpp | 7 +++---- fdbclient/include/fdbclient/DatabaseConfiguration.h | 2 +- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/fdbclient/DatabaseConfiguration.cpp b/fdbclient/DatabaseConfiguration.cpp index ac7e3439ce6..60930734cfa 100644 --- a/fdbclient/DatabaseConfiguration.cpp +++ b/fdbclient/DatabaseConfiguration.cpp @@ -210,10 +210,9 @@ void DatabaseConfiguration::setDefaultReplicationPolicy() { } } -#Add boolean parameter with a default value of false. Only print within log_test if that parameter is set to true. AI! -bool DatabaseConfiguration::isValid() const { - auto log_test = [](const char* text, bool val) { - if (!val) { +bool DatabaseConfiguration::isValid(bool print_invalid) const { + auto log_test = [print_invalid](const char* text, bool val) { + if (!val && print_invalid) { fprintf(stderr, "%s: false\n", text); } return val; diff --git a/fdbclient/include/fdbclient/DatabaseConfiguration.h b/fdbclient/include/fdbclient/DatabaseConfiguration.h index 72130e48369..7713aee631d 100644 --- a/fdbclient/include/fdbclient/DatabaseConfiguration.h +++ b/fdbclient/include/fdbclient/DatabaseConfiguration.h @@ -111,7 +111,7 @@ struct DatabaseConfiguration { bool clear(KeyRangeRef keys); Optional get(KeyRef key) const; - bool isValid() const; + bool isValid(bool print_invalid = false) const; bool initialized; From 2046c43e83277a3155236a573743b1a3e13b2610 Mon Sep 17 00:00:00 2001 From: Drew Gulino <1379399+dgulinobw@users.noreply.github.com> Date: Tue, 23 Sep 2025 18:55:45 -0400 Subject: [PATCH 08/11] chore: Add comment about print_invalid parameter --- fdbclient/DatabaseConfiguration.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/fdbclient/DatabaseConfiguration.cpp b/fdbclient/DatabaseConfiguration.cpp index 60930734cfa..0ccadb04a7c 100644 --- a/fdbclient/DatabaseConfiguration.cpp +++ b/fdbclient/DatabaseConfiguration.cpp @@ -210,6 +210,7 @@ void DatabaseConfiguration::setDefaultReplicationPolicy() { } } +#Make print_invalid an optional parameter AI! bool DatabaseConfiguration::isValid(bool print_invalid) const { auto log_test = [print_invalid](const char* text, bool val) { if (!val && print_invalid) { From d148da61bf85f51990a0042de2d468b2038d9c71 Mon Sep 17 00:00:00 2001 From: Drew Gulino <1379399+dgulinobw@users.noreply.github.com> Date: Tue, 23 Sep 2025 18:55:46 -0400 Subject: [PATCH 09/11] chore: Remove fulfilled AI instruction comment Co-authored-by: aider (vertex_ai/gemini-2.5-pro) --- fdbclient/DatabaseConfiguration.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/fdbclient/DatabaseConfiguration.cpp b/fdbclient/DatabaseConfiguration.cpp index 0ccadb04a7c..60930734cfa 100644 --- a/fdbclient/DatabaseConfiguration.cpp +++ b/fdbclient/DatabaseConfiguration.cpp @@ -210,7 +210,6 @@ void DatabaseConfiguration::setDefaultReplicationPolicy() { } } -#Make print_invalid an optional parameter AI! bool DatabaseConfiguration::isValid(bool print_invalid) const { auto log_test = [print_invalid](const char* text, bool val) { if (!val && print_invalid) { From ff70bad86722651c425cb538e2da93a0bcad2102 Mon Sep 17 00:00:00 2001 From: Drew Gulino <1379399+dgulinobw@users.noreply.github.com> Date: Thu, 25 Sep 2025 17:44:17 -0400 Subject: [PATCH 10/11] added client knob cli_print_invalid_configuration to enable printing of database configuration test failures in fdbcli --- fdbclient/ClientKnobs.cpp | 2 ++ fdbclient/DatabaseConfiguration.cpp | 7 ++++--- fdbclient/include/fdbclient/ClientKnobs.h | 1 + fdbclient/include/fdbclient/DatabaseConfiguration.h | 3 +-- 4 files changed, 8 insertions(+), 5 deletions(-) diff --git a/fdbclient/ClientKnobs.cpp b/fdbclient/ClientKnobs.cpp index 9062732ffbf..909196f5e46 100644 --- a/fdbclient/ClientKnobs.cpp +++ b/fdbclient/ClientKnobs.cpp @@ -295,6 +295,7 @@ void ClientKnobs::initialize(Randomize randomize) { //fdbcli init( CLI_CONNECT_PARALLELISM, 400 ); init( CLI_CONNECT_TIMEOUT, 10.0 ); + init( CLI_PRINT_INVALID_CONFIGURATION, false ); // trace init( TRACE_LOG_FILE_IDENTIFIER_MAX_LENGTH, 50 ); @@ -369,3 +370,4 @@ TEST_CASE("/fdbclient/knobs/initialize") { ASSERT_EQ(clientKnobs.TASKBUCKET_TIMEOUT_VERSIONS, initialTaskBucketTimeoutVersions * 2); return Void(); } + diff --git a/fdbclient/DatabaseConfiguration.cpp b/fdbclient/DatabaseConfiguration.cpp index 60930734cfa..2d02ab26b46 100644 --- a/fdbclient/DatabaseConfiguration.cpp +++ b/fdbclient/DatabaseConfiguration.cpp @@ -210,9 +210,10 @@ void DatabaseConfiguration::setDefaultReplicationPolicy() { } } -bool DatabaseConfiguration::isValid(bool print_invalid) const { - auto log_test = [print_invalid](const char* text, bool val) { - if (!val && print_invalid) { +bool DatabaseConfiguration::isValid() const { +//enable this via `fdbcli --knob_cli_print_invalid_configuration=1` command line parameter + auto log_test = [](const char* text, bool val) { + if (!val && CLIENT_KNOBS->CLI_PRINT_INVALID_CONFIGURATION) { fprintf(stderr, "%s: false\n", text); } return val; diff --git a/fdbclient/include/fdbclient/ClientKnobs.h b/fdbclient/include/fdbclient/ClientKnobs.h index e0c57c102bf..e5b17ecd00c 100644 --- a/fdbclient/include/fdbclient/ClientKnobs.h +++ b/fdbclient/include/fdbclient/ClientKnobs.h @@ -294,6 +294,7 @@ class SWIFT_CXX_IMMORTAL_SINGLETON_TYPE ClientKnobs : public KnobsImpl get(KeyRef key) const; - bool isValid(bool print_invalid = false) const; + bool isValid() const; bool initialized; @@ -262,7 +262,6 @@ struct DatabaseConfiguration { TenantMode tenantMode; EncryptionAtRestMode encryptionAtRestMode; - // Excluded servers (no state should be here) bool isExcludedServer(NetworkAddressList, const LocalityData& locality) const; bool isExcludedLocality(const LocalityData& locality) const; From 5b643187dfc2c34a1ae6e51df2b1459ca5aba8f7 Mon Sep 17 00:00:00 2001 From: Drew Gulino <1379399+dgulinobw@users.noreply.github.com> Date: Thu, 25 Sep 2025 18:12:25 -0400 Subject: [PATCH 11/11] ran clang-format --- fdbclient/ClientKnobs.cpp | 1 - fdbclient/DatabaseConfiguration.cpp | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/fdbclient/ClientKnobs.cpp b/fdbclient/ClientKnobs.cpp index 909196f5e46..b095240e686 100644 --- a/fdbclient/ClientKnobs.cpp +++ b/fdbclient/ClientKnobs.cpp @@ -370,4 +370,3 @@ TEST_CASE("/fdbclient/knobs/initialize") { ASSERT_EQ(clientKnobs.TASKBUCKET_TIMEOUT_VERSIONS, initialTaskBucketTimeoutVersions * 2); return Void(); } - diff --git a/fdbclient/DatabaseConfiguration.cpp b/fdbclient/DatabaseConfiguration.cpp index 2d02ab26b46..288db0721b2 100644 --- a/fdbclient/DatabaseConfiguration.cpp +++ b/fdbclient/DatabaseConfiguration.cpp @@ -211,7 +211,7 @@ void DatabaseConfiguration::setDefaultReplicationPolicy() { } bool DatabaseConfiguration::isValid() const { -//enable this via `fdbcli --knob_cli_print_invalid_configuration=1` command line parameter + // enable this via `fdbcli --knob_cli_print_invalid_configuration=1` command line parameter auto log_test = [](const char* text, bool val) { if (!val && CLIENT_KNOBS->CLI_PRINT_INVALID_CONFIGURATION) { fprintf(stderr, "%s: false\n", text);