Skip to content

Commit 1310206

Browse files
disylhfacebook-github-bot
authored andcommitted
support to enable manual BigValueRoute in dynamic config
Summary: Use disable_global_big_value_route to disable creating BigValueRoute in ProxyRoute Reviewed By: stuclar Differential Revision: D71217660 fbshipit-source-id: e7eb821024b83c8540b2c5aa069bcc2dd79dc876
1 parent 56d7366 commit 1310206

File tree

3 files changed

+7
-2
lines changed

3 files changed

+7
-2
lines changed

mcrouter/ProxyConfig-inl.h

+4-1
Original file line numberDiff line numberDiff line change
@@ -133,6 +133,8 @@ ProxyConfig<RouterInfo>::ProxyConfig(
133133
checkLogic(
134134
enableSetDistribution || enableCrossRegionSetRpc,
135135
"ProxyConfig: cannot disable cross-region set rpc if set distribution is disabled");
136+
bool enableGlobalBigValueRoute =
137+
readBool("enable_global_big_value_route", true);
136138

137139
proxy.router().runtimeFeatures_.enableOdslScuba =
138140
readBool("enable_odsl_scuba", false);
@@ -151,7 +153,8 @@ ProxyConfig<RouterInfo>::ProxyConfig(
151153
.enableCrossRegionDeleteRpc = enableCrossRegionDeleteRpc,
152154
.enableAsyncDlBroadcast = enableAsyncDlBroadcast,
153155
.enableSetDistribution = enableSetDistribution,
154-
.enableCrossRegionSetRpc = enableCrossRegionSetRpc});
156+
.enableCrossRegionSetRpc = enableCrossRegionSetRpc,
157+
.enableGlobalBigValueRoute = enableGlobalBigValueRoute});
155158
serviceInfo_ = std::make_shared<ServiceInfo<RouterInfo>>(proxy, *this);
156159
}
157160

mcrouter/routes/ProxyRoute-inl.h

+2-1
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,8 @@ ProxyRoute<RouterInfo>::ProxyRoute(
4848
proxy_,
4949
routeSelectors,
5050
rolloutOpts)) {
51-
if (proxy_.getRouterOptions().big_value_split_threshold != 0) {
51+
if (proxy_.getRouterOptions().big_value_split_threshold != 0 &&
52+
rolloutOpts.enableGlobalBigValueRoute) {
5253
root_ = detail::wrapWithBigValueRoute<RouterInfo>(
5354
std::move(root_), proxy_.getRouterOptions());
5455
}

mcrouter/routes/RootRoute.h

+1
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ struct RootRouteRolloutOpts {
3232
bool enableAsyncDlBroadcast = false;
3333
bool enableSetDistribution = false;
3434
bool enableCrossRegionSetRpc = true;
35+
bool enableGlobalBigValueRoute = true;
3536
};
3637

3738
template <class RouterInfo>

0 commit comments

Comments
 (0)