This is an automated email from the ASF dual-hosted git repository.
dataroaring pushed a commit to branch branch-3.0
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/branch-3.0 by this push:
new 9b2e203ad11 branch-3.0: [opt](fe) Avoid load
`retrying_service_config.json` multi times for class MetaServiceClient #48487
(#48566)
9b2e203ad11 is described below
commit 9b2e203ad11397a7dbfa2f8be0709760043c4da4
Author: github-actions[bot]
<41898282+github-actions[bot]@users.noreply.github.com>
AuthorDate: Tue Mar 4 17:22:44 2025 +0800
branch-3.0: [opt](fe) Avoid load `retrying_service_config.json` multi times
for class MetaServiceClient #48487 (#48566)
Cherry-picked from #48487
Co-authored-by: Lei Zhang <[email protected]>
---
.../apache/doris/cloud/rpc/MetaServiceClient.java | 21 +++++++++++----------
1 file changed, 11 insertions(+), 10 deletions(-)
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/cloud/rpc/MetaServiceClient.java
b/fe/fe-core/src/main/java/org/apache/doris/cloud/rpc/MetaServiceClient.java
index 904f3ec15d9..9ff832d2630 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/cloud/rpc/MetaServiceClient.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/cloud/rpc/MetaServiceClient.java
@@ -21,6 +21,7 @@ import org.apache.doris.cloud.proto.Cloud;
import org.apache.doris.cloud.proto.MetaServiceGrpc;
import org.apache.doris.common.Config;
+import com.google.common.base.Preconditions;
import com.google.gson.Gson;
import com.google.gson.stream.JsonReader;
import io.grpc.ConnectivityState;
@@ -39,6 +40,7 @@ import java.util.concurrent.TimeUnit;
public class MetaServiceClient {
public static final Logger LOG =
LogManager.getLogger(MetaServiceClient.class);
+ private static final Map<String, ?> serviceConfig;
private final String address;
private final MetaServiceGrpc.MetaServiceFutureStub stub;
@@ -50,6 +52,12 @@ public class MetaServiceClient {
static {
NameResolverRegistry.getDefaultRegistry().register(new
MetaServiceListResolverProvider());
+
+ //
https://github.com/grpc/proposal/blob/master/A6-client-retries.md#retry-policy-capabilities
+ serviceConfig = new Gson().fromJson(new JsonReader(new
InputStreamReader(
+
MetaServiceClient.class.getResourceAsStream("/retrying_service_config.json"),
+ StandardCharsets.UTF_8)), Map.class);
+ LOG.info("serviceConfig:{}", serviceConfig);
}
public MetaServiceClient(String address) {
@@ -61,10 +69,12 @@ public class MetaServiceClient {
if (isMetaServiceEndpointList) {
target = MetaServiceListResolverProvider.MS_LIST_SCHEME_PREFIX +
address;
}
+
+ Preconditions.checkNotNull(serviceConfig, "serviceConfig is null");
channel = NettyChannelBuilder.forTarget(target)
.flowControlWindow(Config.grpc_max_message_size_bytes)
.maxInboundMessageSize(Config.grpc_max_message_size_bytes)
- .defaultServiceConfig(getRetryingServiceConfig())
+ .defaultServiceConfig(serviceConfig)
.defaultLoadBalancingPolicy("round_robin")
.enableRetry()
.usePlaintext().build();
@@ -85,15 +95,6 @@ public class MetaServiceClient {
return Long.MAX_VALUE;
}
- protected Map<String, ?> getRetryingServiceConfig() {
- //
https://github.com/grpc/proposal/blob/master/A6-client-retries.md#retry-policy-capabilities
- Map<String, ?> serviceConfig = new Gson().fromJson(new JsonReader(new
InputStreamReader(
-
MetaServiceClient.class.getResourceAsStream("/retrying_service_config.json"),
- StandardCharsets.UTF_8)), Map.class);
- LOG.info("serviceConfig:{}", serviceConfig);
- return serviceConfig;
- }
-
// Is the connection age has expired?
public boolean isConnectionAgeExpired() {
return Config.meta_service_connection_age_base_minutes > 0
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]