From 370ba8b84140b1a46fc45112f627ab0302976980 Mon Sep 17 00:00:00 2001 From: mpilman Date: Tue, 6 Aug 2019 09:25:40 -0700 Subject: [PATCH 1/2] Remove --object-serializer flag from executables --- fdbbackup/backup.actor.cpp | 55 ---------------------------- fdbcli/fdbcli.actor.cpp | 26 +------------ fdbclient/MonitorLeader.actor.cpp | 4 +- fdbclient/MonitorLeader.h | 2 +- fdbclient/NativeAPI.actor.cpp | 5 +-- fdbclient/NativeAPI.actor.h | 3 +- fdbclient/vexillographer/fdb.options | 3 -- fdbrpc/FlowTests.actor.cpp | 1 - fdbrpc/FlowTransport.actor.cpp | 13 +++---- fdbrpc/networksender.actor.h | 4 +- fdbrpc/sim2.actor.cpp | 12 ++---- fdbrpc/simulator.h | 3 +- fdbserver/LeaderElection.h | 4 +- fdbserver/fdbserver.actor.cpp | 28 ++------------ flow/Knobs.cpp | 1 + flow/Knobs.h | 1 + flow/Net2.actor.cpp | 11 ++---- flow/network.h | 5 +-- 18 files changed, 31 insertions(+), 150 deletions(-) diff --git a/fdbbackup/backup.actor.cpp b/fdbbackup/backup.actor.cpp index a4b81e7b5f..83238fe81a 100644 --- a/fdbbackup/backup.actor.cpp +++ b/fdbbackup/backup.actor.cpp @@ -118,7 +118,6 @@ enum { OPT_CLEANUP, OPT_TRACE_FORMAT, - OPT_USE_OBJECT_SERIALIZER }; CSimpleOpt::SOption g_rgAgentOptions[] = { @@ -135,8 +134,6 @@ CSimpleOpt::SOption g_rgAgentOptions[] = { { OPT_TRACE, "--log", SO_NONE }, { OPT_TRACE_DIR, "--logdir", SO_REQ_SEP }, { OPT_TRACE_FORMAT, "--trace_format", SO_REQ_SEP }, - { OPT_USE_OBJECT_SERIALIZER, "-S", SO_REQ_SEP }, - { OPT_USE_OBJECT_SERIALIZER, "--object-serializer", SO_REQ_SEP }, { OPT_TRACE_LOG_GROUP, "--loggroup", SO_REQ_SEP }, { OPT_CRASHONERROR, "--crash", SO_NONE }, { OPT_LOCALITY, "--locality_", SO_REQ_SEP }, @@ -176,8 +173,6 @@ CSimpleOpt::SOption g_rgBackupStartOptions[] = { { OPT_TRACE, "--log", SO_NONE }, { OPT_TRACE_DIR, "--logdir", SO_REQ_SEP }, { OPT_TRACE_FORMAT, "--trace_format", SO_REQ_SEP }, - { OPT_USE_OBJECT_SERIALIZER, "-S", SO_REQ_SEP }, - { OPT_USE_OBJECT_SERIALIZER, "--object-serializer", SO_REQ_SEP }, { OPT_TRACE_LOG_GROUP, "--loggroup", SO_REQ_SEP }, { OPT_QUIET, "-q", SO_NONE }, { OPT_QUIET, "--quiet", SO_NONE }, @@ -245,8 +240,6 @@ CSimpleOpt::SOption g_rgBackupStatusOptions[] = { { OPT_TRACE, "--log", SO_NONE }, { OPT_TRACE_DIR, "--logdir", SO_REQ_SEP }, { OPT_TRACE_FORMAT, "--trace_format", SO_REQ_SEP }, - { OPT_USE_OBJECT_SERIALIZER, "-S", SO_REQ_SEP }, - { OPT_USE_OBJECT_SERIALIZER, "--object-serializer", SO_REQ_SEP }, { OPT_TRACE_LOG_GROUP, "--loggroup", SO_REQ_SEP }, { OPT_VERSION, "--version", SO_NONE }, { OPT_VERSION, "-v", SO_NONE }, @@ -277,8 +270,6 @@ CSimpleOpt::SOption g_rgBackupAbortOptions[] = { { OPT_TRACE, "--log", SO_NONE }, { OPT_TRACE_DIR, "--logdir", SO_REQ_SEP }, { OPT_TRACE_FORMAT, "--trace_format", SO_REQ_SEP }, - { OPT_USE_OBJECT_SERIALIZER, "-S", SO_REQ_SEP }, - { OPT_USE_OBJECT_SERIALIZER, "--object-serializer", SO_REQ_SEP }, { OPT_TRACE_LOG_GROUP, "--loggroup", SO_REQ_SEP }, { OPT_QUIET, "-q", SO_NONE }, { OPT_QUIET, "--quiet", SO_NONE }, @@ -310,8 +301,6 @@ CSimpleOpt::SOption g_rgBackupDiscontinueOptions[] = { { OPT_TRACE, "--log", SO_NONE }, { OPT_TRACE_DIR, "--logdir", SO_REQ_SEP }, { OPT_TRACE_FORMAT, "--trace_format", SO_REQ_SEP }, - { OPT_USE_OBJECT_SERIALIZER, "-S", SO_REQ_SEP }, - { OPT_USE_OBJECT_SERIALIZER, "--object-serializer", SO_REQ_SEP }, { OPT_TRACE_LOG_GROUP, "--loggroup", SO_REQ_SEP }, { OPT_QUIET, "-q", SO_NONE }, { OPT_QUIET, "--quiet", SO_NONE }, @@ -343,8 +332,6 @@ CSimpleOpt::SOption g_rgBackupWaitOptions[] = { { OPT_TRACE, "--log", SO_NONE }, { OPT_TRACE_DIR, "--logdir", SO_REQ_SEP }, { OPT_TRACE_FORMAT, "--trace_format", SO_REQ_SEP }, - { OPT_USE_OBJECT_SERIALIZER, "-S", SO_REQ_SEP }, - { OPT_USE_OBJECT_SERIALIZER, "--object-serializer", SO_REQ_SEP }, { OPT_TRACE_LOG_GROUP, "--loggroup", SO_REQ_SEP }, { OPT_QUIET, "-q", SO_NONE }, { OPT_QUIET, "--quiet", SO_NONE }, @@ -372,8 +359,6 @@ CSimpleOpt::SOption g_rgBackupPauseOptions[] = { { OPT_TRACE, "--log", SO_NONE }, { OPT_TRACE_DIR, "--logdir", SO_REQ_SEP }, { OPT_TRACE_FORMAT, "--trace_format", SO_REQ_SEP }, - { OPT_USE_OBJECT_SERIALIZER, "-S", SO_REQ_SEP }, - { OPT_USE_OBJECT_SERIALIZER, "--object-serializer", SO_REQ_SEP }, { OPT_TRACE_LOG_GROUP, "--loggroup", SO_REQ_SEP }, { OPT_QUIET, "-q", SO_NONE }, { OPT_QUIET, "--quiet", SO_NONE }, @@ -403,8 +388,6 @@ CSimpleOpt::SOption g_rgBackupExpireOptions[] = { { OPT_TRACE, "--log", SO_NONE }, { OPT_TRACE_DIR, "--logdir", SO_REQ_SEP }, { OPT_TRACE_FORMAT, "--trace_format", SO_REQ_SEP }, - { OPT_USE_OBJECT_SERIALIZER, "-S", SO_REQ_SEP }, - { OPT_USE_OBJECT_SERIALIZER, "--object-serializer", SO_REQ_SEP }, { OPT_TRACE_LOG_GROUP, "--loggroup", SO_REQ_SEP }, { OPT_QUIET, "-q", SO_NONE }, { OPT_QUIET, "--quiet", SO_NONE }, @@ -442,8 +425,6 @@ CSimpleOpt::SOption g_rgBackupDeleteOptions[] = { { OPT_TRACE, "--log", SO_NONE }, { OPT_TRACE_DIR, "--logdir", SO_REQ_SEP }, { OPT_TRACE_FORMAT, "--trace_format", SO_REQ_SEP }, - { OPT_USE_OBJECT_SERIALIZER, "-S", SO_REQ_SEP }, - { OPT_USE_OBJECT_SERIALIZER, "--object-serializer", SO_REQ_SEP }, { OPT_TRACE_LOG_GROUP, "--loggroup", SO_REQ_SEP }, { OPT_QUIET, "-q", SO_NONE }, { OPT_QUIET, "--quiet", SO_NONE }, @@ -475,8 +456,6 @@ CSimpleOpt::SOption g_rgBackupDescribeOptions[] = { { OPT_TRACE, "--log", SO_NONE }, { OPT_TRACE_DIR, "--logdir", SO_REQ_SEP }, { OPT_TRACE_FORMAT, "--trace_format", SO_REQ_SEP }, - { OPT_USE_OBJECT_SERIALIZER, "-S", SO_REQ_SEP }, - { OPT_USE_OBJECT_SERIALIZER, "--object-serializer", SO_REQ_SEP }, { OPT_TRACE_LOG_GROUP, "--loggroup", SO_REQ_SEP }, { OPT_QUIET, "-q", SO_NONE }, { OPT_QUIET, "--quiet", SO_NONE }, @@ -541,8 +520,6 @@ CSimpleOpt::SOption g_rgBackupListOptions[] = { { OPT_TRACE, "--log", SO_NONE }, { OPT_TRACE_DIR, "--logdir", SO_REQ_SEP }, { OPT_TRACE_FORMAT, "--trace_format", SO_REQ_SEP }, - { OPT_USE_OBJECT_SERIALIZER, "-S", SO_REQ_SEP }, - { OPT_USE_OBJECT_SERIALIZER, "--object-serializer", SO_REQ_SEP }, { OPT_TRACE_LOG_GROUP, "--loggroup", SO_REQ_SEP }, { OPT_QUIET, "-q", SO_NONE }, { OPT_QUIET, "--quiet", SO_NONE }, @@ -585,8 +562,6 @@ CSimpleOpt::SOption g_rgRestoreOptions[] = { { OPT_TRACE, "--log", SO_NONE }, { OPT_TRACE_DIR, "--logdir", SO_REQ_SEP }, { OPT_TRACE_FORMAT, "--trace_format", SO_REQ_SEP }, - { OPT_USE_OBJECT_SERIALIZER, "-S", SO_REQ_SEP }, - { OPT_USE_OBJECT_SERIALIZER, "--object-serializer", SO_REQ_SEP }, { OPT_TRACE_LOG_GROUP, "--loggroup", SO_REQ_SEP }, { OPT_QUIET, "-q", SO_NONE }, { OPT_QUIET, "--quiet", SO_NONE }, @@ -624,8 +599,6 @@ CSimpleOpt::SOption g_rgDBAgentOptions[] = { { OPT_TRACE, "--log", SO_NONE }, { OPT_TRACE_DIR, "--logdir", SO_REQ_SEP }, { OPT_TRACE_FORMAT, "--trace_format", SO_REQ_SEP }, - { OPT_USE_OBJECT_SERIALIZER, "-S", SO_REQ_SEP }, - { OPT_USE_OBJECT_SERIALIZER, "--object-serializer", SO_REQ_SEP }, { OPT_TRACE_LOG_GROUP, "--loggroup", SO_REQ_SEP }, { OPT_CRASHONERROR, "--crash", SO_NONE }, { OPT_LOCALITY, "--locality_", SO_REQ_SEP }, @@ -656,8 +629,6 @@ CSimpleOpt::SOption g_rgDBStartOptions[] = { { OPT_TRACE, "--log", SO_NONE }, { OPT_TRACE_DIR, "--logdir", SO_REQ_SEP }, { OPT_TRACE_FORMAT, "--trace_format", SO_REQ_SEP }, - { OPT_USE_OBJECT_SERIALIZER, "-S", SO_REQ_SEP }, - { OPT_USE_OBJECT_SERIALIZER, "--object-serializer", SO_REQ_SEP }, { OPT_TRACE_LOG_GROUP, "--loggroup", SO_REQ_SEP }, { OPT_QUIET, "-q", SO_NONE }, { OPT_QUIET, "--quiet", SO_NONE }, @@ -691,8 +662,6 @@ CSimpleOpt::SOption g_rgDBStatusOptions[] = { { OPT_TRACE, "--log", SO_NONE }, { OPT_TRACE_DIR, "--logdir", SO_REQ_SEP }, { OPT_TRACE_FORMAT, "--trace_format", SO_REQ_SEP }, - { OPT_USE_OBJECT_SERIALIZER, "-S", SO_REQ_SEP }, - { OPT_USE_OBJECT_SERIALIZER, "--object-serializer", SO_REQ_SEP }, { OPT_TRACE_LOG_GROUP, "--loggroup", SO_REQ_SEP }, { OPT_VERSION, "--version", SO_NONE }, { OPT_VERSION, "-v", SO_NONE }, @@ -724,8 +693,6 @@ CSimpleOpt::SOption g_rgDBSwitchOptions[] = { { OPT_TRACE, "--log", SO_NONE }, { OPT_TRACE_DIR, "--logdir", SO_REQ_SEP }, { OPT_TRACE_FORMAT, "--trace_format", SO_REQ_SEP }, - { OPT_USE_OBJECT_SERIALIZER, "-S", SO_REQ_SEP }, - { OPT_USE_OBJECT_SERIALIZER, "--object-serializer", SO_REQ_SEP }, { OPT_TRACE_LOG_GROUP, "--loggroup", SO_REQ_SEP }, { OPT_QUIET, "-q", SO_NONE }, { OPT_QUIET, "--quiet", SO_NONE }, @@ -759,8 +726,6 @@ CSimpleOpt::SOption g_rgDBAbortOptions[] = { { OPT_TRACE, "--log", SO_NONE }, { OPT_TRACE_DIR, "--logdir", SO_REQ_SEP }, { OPT_TRACE_FORMAT, "--trace_format", SO_REQ_SEP }, - { OPT_USE_OBJECT_SERIALIZER, "-S", SO_REQ_SEP }, - { OPT_USE_OBJECT_SERIALIZER, "--object-serializer", SO_REQ_SEP }, { OPT_TRACE_LOG_GROUP, "--loggroup", SO_REQ_SEP }, { OPT_QUIET, "-q", SO_NONE }, { OPT_QUIET, "--quiet", SO_NONE }, @@ -790,8 +755,6 @@ CSimpleOpt::SOption g_rgDBPauseOptions[] = { { OPT_TRACE, "--log", SO_NONE }, { OPT_TRACE_DIR, "--logdir", SO_REQ_SEP }, { OPT_TRACE_FORMAT, "--trace_format", SO_REQ_SEP }, - { OPT_USE_OBJECT_SERIALIZER, "-S", SO_REQ_SEP }, - { OPT_USE_OBJECT_SERIALIZER, "--object-serializer", SO_REQ_SEP }, { OPT_TRACE_LOG_GROUP, "--loggroup", SO_REQ_SEP }, { OPT_QUIET, "-q", SO_NONE }, { OPT_QUIET, "--quiet", SO_NONE }, @@ -2740,7 +2703,6 @@ int main(int argc, char* argv[]) { bool dryRun = false; std::string traceDir = ""; std::string traceFormat = ""; - bool useObjectSerializer = true; std::string traceLogGroup; uint64_t traceRollSize = TRACE_DEFAULT_ROLL_SIZE; uint64_t traceMaxLogsSize = TRACE_DEFAULT_MAX_LOGS_SIZE; @@ -2851,18 +2813,6 @@ int main(int argc, char* argv[]) { } traceFormat = args->OptionArg(); break; - case OPT_USE_OBJECT_SERIALIZER: { - std::string s = args->OptionArg(); - std::transform(s.begin(), s.end(), s.begin(), ::tolower); - if (s == "on" || s == "true" || s == "1") { - useObjectSerializer = true; - } else if (s == "off" || s == "false" || s == "0") { - useObjectSerializer = false; - } else { - fprintf(stderr, "ERROR: Could not parse object serializer option: `%s'\n", s.c_str()); - } - break; - } case OPT_TRACE_LOG_GROUP: traceLogGroup = args->OptionArg(); break; @@ -3209,11 +3159,6 @@ int main(int argc, char* argv[]) { setNetworkOption(FDBNetworkOptions::ENABLE_SLOW_TASK_PROFILING); } setNetworkOption(FDBNetworkOptions::DISABLE_CLIENT_STATISTICS_LOGGING); - // The USE_OBJECT_SERIALIZER network option expects an 8 byte little endian integer which is interpreted as - // zero = false, non-zero = true. - setNetworkOption(FDBNetworkOptions::USE_OBJECT_SERIALIZER, - useObjectSerializer ? LiteralStringRef("\x01\x00\x00\x00\x00\x00\x00\x00") - : LiteralStringRef("\x00\x00\x00\x00\x00\x00\x00\x00")); // deferred TLS options if (tlsCertPath.size()) { diff --git a/fdbcli/fdbcli.actor.cpp b/fdbcli/fdbcli.actor.cpp index dcd763fb59..6423af90f9 100644 --- a/fdbcli/fdbcli.actor.cpp +++ b/fdbcli/fdbcli.actor.cpp @@ -70,8 +70,7 @@ enum { OPT_NO_STATUS, OPT_STATUS_FROM_JSON, OPT_VERSION, - OPT_TRACE_FORMAT, - OPT_USE_OBJECT_SERIALIZER + OPT_TRACE_FORMAT }; CSimpleOpt::SOption g_rgOptions[] = { { OPT_CONNFILE, "-C", SO_REQ_SEP }, @@ -89,8 +88,6 @@ CSimpleOpt::SOption g_rgOptions[] = { { OPT_CONNFILE, "-C", SO_REQ_SEP }, { OPT_VERSION, "--version", SO_NONE }, { OPT_VERSION, "-v", SO_NONE }, { OPT_TRACE_FORMAT, "--trace_format", SO_REQ_SEP }, - { OPT_USE_OBJECT_SERIALIZER, "-S", SO_REQ_SEP }, - { OPT_USE_OBJECT_SERIALIZER, "--object-serializer", SO_REQ_SEP }, #ifndef TLS_DISABLED TLS_OPTION_FLAGS @@ -2415,7 +2412,6 @@ struct CLIOptions { bool trace; std::string traceDir; std::string traceFormat; - bool useObjectSerializer = true; int exit_timeout; Optional exec; bool initialStatusCheck; @@ -2517,20 +2513,6 @@ struct CLIOptions { } traceFormat = args.OptionArg(); break; - case OPT_USE_OBJECT_SERIALIZER: { - std::string s = args.OptionArg(); - std::transform(s.begin(), s.end(), s.begin(), ::tolower); - if (s == "on" || s == "true" || s == "1") { - useObjectSerializer = true; - } else if (s == "off" || s == "false" || s == "0") { - useObjectSerializer = false; - } else { - fprintf(stderr, "ERROR: Could not parse object serializer option: `%s'\n", s.c_str()); - printProgramUsage(program_name.c_str()); - flushAndExit(FDB_EXIT_ERROR); - } - break; - } case OPT_VERSION: printVersion(); return FDB_EXIT_SUCCESS; @@ -3647,12 +3629,6 @@ int main(int argc, char **argv) { } setNetworkOption(FDBNetworkOptions::ENABLE_SLOW_TASK_PROFILING); } - // The USE_OBJECT_SERIALIZER network option expects an 8 byte little endian integer which is interpreted as zero = - // false, non-zero = true. - setNetworkOption(FDBNetworkOptions::USE_OBJECT_SERIALIZER, - opt.useObjectSerializer ? LiteralStringRef("\x01\x00\x00\x00\x00\x00\x00\x00") - : LiteralStringRef("\x00\x00\x00\x00\x00\x00\x00\x00")); - initHelp(); // deferred TLS options diff --git a/fdbclient/MonitorLeader.actor.cpp b/fdbclient/MonitorLeader.actor.cpp index da0df6f9c9..2f0f94eb72 100644 --- a/fdbclient/MonitorLeader.actor.cpp +++ b/fdbclient/MonitorLeader.actor.cpp @@ -511,7 +511,7 @@ ACTOR Future asyncDeserializeClusterInterface(Reference> s Reference>> outKnownLeader) { state Reference>> knownLeader( new AsyncVar>{}); - state Future deserializer = asyncDeserialize(serializedInfo, knownLeader, g_network->useObjectSerializer()); + state Future deserializer = asyncDeserialize(serializedInfo, knownLeader, FLOW_KNOBS->USE_OBJECT_SERIALIZER); loop { choose { when(wait(deserializer)) { UNSTOPPABLE_ASSERT(false); } @@ -645,7 +645,7 @@ ACTOR Future monitorLeaderForProxies( Key clusterKey, vectoruseObjectSerializer()) { + if (FLOW_KNOBS->USE_OBJECT_SERIALIZER) { ObjectReader reader(leader.get().first.serializedInfo.begin(), IncludeVersion()); ClusterControllerClientInterface res; reader.deserialize(res); diff --git a/fdbclient/MonitorLeader.h b/fdbclient/MonitorLeader.h index ab0b1c8787..da8af4a0ee 100644 --- a/fdbclient/MonitorLeader.h +++ b/fdbclient/MonitorLeader.h @@ -67,7 +67,7 @@ template struct LeaderDeserializer { Future operator()(const Reference>& serializedInfo, const Reference>>& outKnownLeader) { - return asyncDeserialize(serializedInfo, outKnownLeader, g_network->useObjectSerializer()); + return asyncDeserialize(serializedInfo, outKnownLeader, FLOW_KNOBS->USE_OBJECT_SERIALIZER); } }; diff --git a/fdbclient/NativeAPI.actor.cpp b/fdbclient/NativeAPI.actor.cpp index fbe5b55415..9f946da9c2 100644 --- a/fdbclient/NativeAPI.actor.cpp +++ b/fdbclient/NativeAPI.actor.cpp @@ -837,9 +837,6 @@ const UniqueOrderedOptionList& Database::getTransactionDe void setNetworkOption(FDBNetworkOptions::Option option, Optional value) { switch(option) { // SOMEDAY: If the network is already started, should these three throw an error? - case FDBNetworkOptions::USE_OBJECT_SERIALIZER: - networkOptions.useObjectSerializer = extractIntOption(value) != 0; - break; case FDBNetworkOptions::TRACE_ENABLE: networkOptions.traceDirectory = value.present() ? value.get().toString() : ""; break; @@ -990,7 +987,7 @@ void setupNetwork(uint64_t transportId, bool useMetrics) { if (!networkOptions.logClientInfo.present()) networkOptions.logClientInfo = true; - g_network = newNet2(false, useMetrics || networkOptions.traceDirectory.present(), networkOptions.useObjectSerializer); + g_network = newNet2(false, useMetrics || networkOptions.traceDirectory.present()); FlowTransport::createInstance(true, transportId); Net2FileSystem::newFileSystem(); diff --git a/fdbclient/NativeAPI.actor.h b/fdbclient/NativeAPI.actor.h index 5358e496b7..58226826d1 100644 --- a/fdbclient/NativeAPI.actor.h +++ b/fdbclient/NativeAPI.actor.h @@ -61,13 +61,12 @@ struct NetworkOptions { Optional logClientInfo; Standalone> supportedVersions; bool slowTaskProfilingEnabled; - bool useObjectSerializer; // The default values, TRACE_DEFAULT_ROLL_SIZE and TRACE_DEFAULT_MAX_LOGS_SIZE are located in Trace.h. NetworkOptions() : localAddress(""), clusterFile(""), traceDirectory(Optional()), traceRollSize(TRACE_DEFAULT_ROLL_SIZE), traceMaxLogsSize(TRACE_DEFAULT_MAX_LOGS_SIZE), traceLogGroup("default"), - traceFormat("xml"), slowTaskProfilingEnabled(false), useObjectSerializer(true) {} + traceFormat("xml"), slowTaskProfilingEnabled(false) {} }; class Database { diff --git a/fdbclient/vexillographer/fdb.options b/fdbclient/vexillographer/fdb.options index 3f4fd904ea..b270ad4cda 100644 --- a/fdbclient/vexillographer/fdb.options +++ b/fdbclient/vexillographer/fdb.options @@ -33,9 +33,6 @@ description is not currently required but encouraged.