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

dataroaring 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 1d315b2c7bd [fix](load data) decommission replica don't load data when 
it misses versions (#38198)
1d315b2c7bd is described below

commit 1d315b2c7bd071493e4542a3c292ac09291a5647
Author: yujun <yu.jun.re...@gmail.com>
AuthorDate: Tue Jul 23 17:44:20 2024 +0800

    [fix](load data) decommission replica don't load data when it misses 
versions (#38198)
    
    BUG: when a decommission replica misses versions (last failed version >
    0), it will cause a bug:
    1. It cann't do compaction due to it has miss versions;
    2. It cann't  cloning the missing rowsets because it's decommissioned.
    
    So if it continue to load data, its rowset will increase util it cause
    error -235(TOO MANY VERSION).
    
    Fix:  don't write data to the decommission replica if it miss rowsets.
---
 fe/fe-core/src/main/java/org/apache/doris/catalog/Tablet.java | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

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 3266d0eeb66..c32b2bcbfa9 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
@@ -242,7 +242,9 @@ public class Tablet extends MetaObject {
 
             ReplicaState state = replica.getState();
             if (state.canLoad()
-                    || (state == ReplicaState.DECOMMISSION && 
replica.getPostWatermarkTxnId() < 0)) {
+                    || (state == ReplicaState.DECOMMISSION
+                            && replica.getPostWatermarkTxnId() < 0
+                            && replica.getLastFailedVersion() < 0)) {
                 map.put(backendId, replica.getPathHash());
             }
         }


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

Reply via email to