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 <zhang...@selectdb.com>
---
 .../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: commits-unsubscr...@doris.apache.org
For additional commands, e-mail: commits-h...@doris.apache.org

Reply via email to