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

morningman pushed a commit to branch branch-1.1-lts
in repository https://gitbox.apache.org/repos/asf/doris.git


The following commit(s) were added to refs/heads/branch-1.1-lts by this push:
     new baeef82a98 [cherry-pick][fix](alter-load) fix bug that tablet version 
may be wrong when doing alter and load #13070
baeef82a98 is described below

commit baeef82a980bbf9759caf2feaca4ad3bc601851f
Author: morningman <morning...@163.com>
AuthorDate: Fri Sep 30 23:45:28 2022 +0800

    [cherry-pick][fix](alter-load) fix bug that tablet version may be wrong 
when doing alter and load #13070
---
 fe/fe-core/src/main/java/org/apache/doris/load/LoadChecker.java     | 3 +--
 fe/fe-core/src/main/java/org/apache/doris/system/Diagnoser.java     | 4 +++-
 .../java/org/apache/doris/transaction/DatabaseTransactionMgr.java   | 3 +--
 .../main/java/org/apache/doris/transaction/TransactionState.java    | 6 ------
 4 files changed, 5 insertions(+), 11 deletions(-)

diff --git a/fe/fe-core/src/main/java/org/apache/doris/load/LoadChecker.java 
b/fe/fe-core/src/main/java/org/apache/doris/load/LoadChecker.java
index 0ee4fd2854..1976273a7b 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/load/LoadChecker.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/load/LoadChecker.java
@@ -53,7 +53,6 @@ import org.apache.doris.transaction.TransactionStatus;
 import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
 import com.google.common.collect.Sets;
-
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
 
@@ -293,7 +292,7 @@ public class LoadChecker extends MasterDaemon {
         
         // yiguolei: for real time load we use full finished replicas
         Set<Long> fullTablets = job.getFullTablets();
-        if (state.isRunning()) {
+        if (!state.getTransactionStatus().isFinalStatus()) {
             job.setProgress(fullTablets.size() * 100 / jobTotalTablets.size());
         } else {
             job.setProgress(100);
diff --git a/fe/fe-core/src/main/java/org/apache/doris/system/Diagnoser.java 
b/fe/fe-core/src/main/java/org/apache/doris/system/Diagnoser.java
index 24048ac251..ec839ab44d 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/system/Diagnoser.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/system/Diagnoser.java
@@ -29,7 +29,6 @@ import org.apache.doris.catalog.TabletMeta;
 import org.apache.doris.common.Config;
 
 import com.google.common.collect.Lists;
-
 import org.json.simple.JSONObject;
 
 import java.util.List;
@@ -143,6 +142,9 @@ public class Diagnoser {
                 versionErr.append("Replica on backend " + 
replica.getBackendId() + "'s version (" +
                         replica.getVersion() + ") does not equal" +
                         " to partition visible version (" + 
partition.getVisibleVersion() + ")");
+            } else if (replica.getLastFailedVersion() != -1) {
+                versionErr.append("Replica on backend " + 
replica.getBackendId() + "'s last failed version is "
+                        + replica.getLastFailedVersion());
             }
             // status
             if (!replica.isAlive()) {
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/transaction/DatabaseTransactionMgr.java
 
b/fe/fe-core/src/main/java/org/apache/doris/transaction/DatabaseTransactionMgr.java
index bf530c5ef4..24811d7de8 100644
--- 
a/fe/fe-core/src/main/java/org/apache/doris/transaction/DatabaseTransactionMgr.java
+++ 
b/fe/fe-core/src/main/java/org/apache/doris/transaction/DatabaseTransactionMgr.java
@@ -59,7 +59,6 @@ import com.google.common.base.Preconditions;
 import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
 import com.google.common.collect.Sets;
-
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
@@ -1563,7 +1562,7 @@ public class DatabaseTransactionMgr {
         try {
             for (Map.Entry<Long, TransactionState> entry : 
idToRunningTransactionState.entrySet()) {
                 if (entry.getValue().getDbId() != dbId || 
!isIntersectionNotEmpty(entry.getValue().getTableIdList(),
-                        tableIdList) || !entry.getValue().isRunning()) {
+                        tableIdList) || 
entry.getValue().getTransactionStatus().isFinalStatus()) {
                     continue;
                 }
                 if (entry.getKey() <= endTransactionId) {
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/transaction/TransactionState.java 
b/fe/fe-core/src/main/java/org/apache/doris/transaction/TransactionState.java
index 719db31b1e..bf921ce239 100644
--- 
a/fe/fe-core/src/main/java/org/apache/doris/transaction/TransactionState.java
+++ 
b/fe/fe-core/src/main/java/org/apache/doris/transaction/TransactionState.java
@@ -33,7 +33,6 @@ import com.google.common.base.Strings;
 import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
 import com.google.common.collect.Sets;
-
 import org.apache.commons.lang3.StringUtils;
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
@@ -288,11 +287,6 @@ public class TransactionState implements Writable {
         this.errorReplicas = newErrorReplicas;
     }
 
-    public boolean isRunning() {
-        return transactionStatus == TransactionStatus.PREPARE
-                || transactionStatus == TransactionStatus.COMMITTED;
-    }
-
     public void addPublishVersionTask(Long backendId, PublishVersionTask task) 
{
         this.publishVersionTasks.put(backendId, task);
     }


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

Reply via email to