adding --disable_client_bypass to mako

This commit is contained in:
Josh Slocum 2022-10-07 16:12:39 -05:00
parent f5381ca2a8
commit 4ebe341e2c
2 changed files with 17 additions and 0 deletions

View File

@ -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;

View File

@ -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;