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

gavinchou 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 59fabfffb5f [fix](replica) do not select user drop replica as possible 
(#54434)
59fabfffb5f is described below

commit 59fabfffb5fa302759f2138c0086eb9ba56308dd
Author: Yongqiang YANG <[email protected]>
AuthorDate: Wed Feb 4 08:02:12 2026 -0800

    [fix](replica) do not select user drop replica as possible (#54434)
---
 fe/fe-core/src/main/java/org/apache/doris/catalog/Tablet.java | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/Tablet.java 
b/fe/fe-core/src/main/java/org/apache/doris/catalog/Tablet.java
index 50b16f379fe..45ae9e54456 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/catalog/Tablet.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/Tablet.java
@@ -221,6 +221,7 @@ public abstract class Tablet {
         List<Replica> deadPathReplica = 
Lists.newArrayListWithCapacity(replicaNum);
         List<Replica> mayMissingVersionReplica = 
Lists.newArrayListWithCapacity(replicaNum);
         List<Replica> notCatchupReplica = 
Lists.newArrayListWithCapacity(replicaNum);
+        List<Replica> userDropReplica = 
Lists.newArrayListWithCapacity(replicaNum);
 
         for (Replica replica : replicas) {
             if (replica.isBad()) {
@@ -230,6 +231,10 @@ public abstract class Tablet {
                 notCatchupReplica.add(replica);
                 continue;
             }
+            if (replica.isUserDrop()) {
+                userDropReplica.add(replica);
+                continue;
+            }
             if (replica.getLastFailedVersion() > 0) {
                 mayMissingVersionReplica.add(replica);
                 continue;
@@ -253,6 +258,7 @@ public abstract class Tablet {
         if (allQueryableReplica.isEmpty()) {
             allQueryableReplica = auxiliaryReplica;
         }
+
         if (allQueryableReplica.isEmpty()) {
             allQueryableReplica = deadPathReplica;
         }
@@ -266,6 +272,10 @@ public abstract class Tablet {
             allQueryableReplica = notCatchupReplica;
         }
 
+        if (allQueryableReplica.isEmpty()) {
+            allQueryableReplica = userDropReplica;
+        }
+
         if (Config.skip_compaction_slower_replica && 
allQueryableReplica.size() > 1) {
             long minVersionCount = Long.MAX_VALUE;
             for (Replica replica : allQueryableReplica) {


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to