This is an automated email from the ASF dual-hosted git repository.

eldenmoon pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git


The following commit(s) were added to refs/heads/master by this push:
     new 4fc9f92defa [Improve](Variant) pick random backend as coordinator 
(#45754)
4fc9f92defa is described below

commit 4fc9f92defaae41667e1a2eb3b3a0f1f451e99fd
Author: lihangyu <lihan...@selectdb.com>
AuthorDate: Mon Dec 23 10:38:14 2024 +0800

    [Improve](Variant) pick random backend as coordinator (#45754)
    
    pick random rpc coordinator to do fetch_remote_tablet_schema service
---
 .../apache/doris/common/util/FetchRemoteTabletSchemaUtil.java | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/common/util/FetchRemoteTabletSchemaUtil.java
 
b/fe/fe-core/src/main/java/org/apache/doris/common/util/FetchRemoteTabletSchemaUtil.java
index 4a0b9d1ff59..00147207c14 100644
--- 
a/fe/fe-core/src/main/java/org/apache/doris/common/util/FetchRemoteTabletSchemaUtil.java
+++ 
b/fe/fe-core/src/main/java/org/apache/doris/common/util/FetchRemoteTabletSchemaUtil.java
@@ -98,16 +98,19 @@ public class FetchRemoteTabletSchemaUtil {
             if (!backend.isAlive()) {
                 continue;
             }
-            // need 2 be to provide a retry
-            if (coordinatorBackend.size() < 2) {
-                coordinatorBackend.add(backend);
-            }
+            coordinatorBackend.add(backend);
             PTabletsLocation.Builder locationBuilder = 
PTabletsLocation.newBuilder()
                                                         
.setHost(backend.getHost())
                                                         
.setBrpcPort(backend.getBrpcPort());
             PTabletsLocation location = 
locationBuilder.addAllTabletId(tabletIds).build();
             locations.add(location);
         }
+        // pick 2 random coordinator
+        Collections.shuffle(coordinatorBackend);
+        if (!coordinatorBackend.isEmpty()) {
+            coordinatorBackend = coordinatorBackend.subList(0, Math.min(2, 
coordinatorBackend.size()));
+            LOG.debug("pick coordinator backend {}", 
coordinatorBackend.get(0));
+        }
         PFetchRemoteSchemaRequest.Builder requestBuilder = 
PFetchRemoteSchemaRequest.newBuilder()
                                                                     
.addAllTabletLocation(locations)
                                                                     
.setIsCoordinator(true);


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org
For additional commands, e-mail: commits-h...@doris.apache.org

Reply via email to