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