diff --git a/bindings/c/test/mako/mako.cpp b/bindings/c/test/mako/mako.cpp index e7ce98b198..0cc82e3d8a 100644 --- a/bindings/c/test/mako/mako.cpp +++ b/bindings/c/test/mako/mako.cpp @@ -875,6 +875,16 @@ int workerProcessMain(Arguments const& args, int worker_id, shared_memory::Acces } } + if (args.disable_client_bypass > 0) { + err = network::setOptionNothrow(FDB_NET_OPTION_DISABLE_CLIENT_BYPASS, args.disable_client_bypass); + if (err) { + logr.error("network::setOption (FDB_NET_OPTION_DISABLE_CLIENT_BYPASS) ({}): {}", + args.disable_client_bypass, + err.what()); + return -1; + } + } + /* Network thread must be setup before doing anything */ logr.debug("network::setup()"); network::setup(); @@ -1005,6 +1015,7 @@ int initArguments(Arguments& args) { args.txnspec.ops[i][OP_COUNT] = 0; } args.client_threads_per_version = 0; + args.disable_client_bypass = 0; args.disable_ryw = 0; args.json_output_path[0] = '\0'; args.stats_export_path[0] = '\0'; @@ -1248,6 +1259,7 @@ int parseArguments(int argc, char* argv[], Arguments& args) { { "txntagging_prefix", required_argument, NULL, ARG_TXNTAGGINGPREFIX }, { "version", no_argument, NULL, ARG_VERSION }, { "client_threads_per_version", required_argument, NULL, ARG_CLIENT_THREADS_PER_VERSION }, + { "disable_client_bypass", no_argument, NULL, ARG_DISABLE_CLIENT_BYPASS }, { "disable_ryw", no_argument, NULL, ARG_DISABLE_RYW }, { "json_report", optional_argument, NULL, ARG_JSON_REPORT }, { "bg_file_path", required_argument, NULL, ARG_BG_FILE_PATH }, @@ -1446,6 +1458,9 @@ int parseArguments(int argc, char* argv[], Arguments& args) { case ARG_CLIENT_THREADS_PER_VERSION: args.client_threads_per_version = atoi(optarg); break; + case ARG_DISABLE_CLIENT_BYPASS: + args.disable_client_bypass = 1; + break; case ARG_DISABLE_RYW: args.disable_ryw = 1; break; diff --git a/bindings/c/test/mako/mako.hpp b/bindings/c/test/mako/mako.hpp index 4d1df16bec..85bb38ec19 100644 --- a/bindings/c/test/mako/mako.hpp +++ b/bindings/c/test/mako/mako.hpp @@ -75,6 +75,7 @@ enum ArgKind { ARG_STREAMING_MODE, ARG_DISABLE_RYW, ARG_CLIENT_THREADS_PER_VERSION, + ARG_DISABLE_CLIENT_BYPASS, ARG_JSON_REPORT, ARG_BG_FILE_PATH, // if blob granule files are stored locally, mako will read and materialize them if this is set ARG_EXPORT_PATH, @@ -169,6 +170,7 @@ struct Arguments { char txntagging_prefix[TAGPREFIXLENGTH_MAX]; FDBStreamingMode streaming_mode; int64_t client_threads_per_version; + int disable_client_bypass; int disable_ryw; char json_output_path[PATH_MAX]; bool bg_materialize_files;