This is an automated email from the ASF dual-hosted git repository. morningman 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 d44af5decf [fix](alter-load) fix bug that tablet version may be wrong when doing alter and load (#13070) d44af5decf is described below commit d44af5decf1af05af99c6b3139fce385ebc52d3e Author: Mingyu Chen <morningman....@gmail.com> AuthorDate: Fri Sep 30 23:39:30 2022 +0800 [fix](alter-load) fix bug that tablet version may be wrong when doing alter and load (#13070) the `isRunning()` method of `TransactionState` is missing `PRE_COMMITTED` status. Which cause wrong judgment of `isPreviousTransactionsFinished` --- fe/fe-core/src/main/java/org/apache/doris/common/Config.java | 1 + fe/fe-core/src/main/java/org/apache/doris/load/LoadChecker.java | 2 +- fe/fe-core/src/main/java/org/apache/doris/system/Diagnoser.java | 3 +++ .../java/org/apache/doris/transaction/DatabaseTransactionMgr.java | 2 +- .../src/main/java/org/apache/doris/transaction/TransactionState.java | 5 ----- 5 files changed, 6 insertions(+), 7 deletions(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/common/Config.java b/fe/fe-core/src/main/java/org/apache/doris/common/Config.java index 2c1c57c72e..14aa70d0ce 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/common/Config.java +++ b/fe/fe-core/src/main/java/org/apache/doris/common/Config.java @@ -753,6 +753,7 @@ public class Config extends ConfigBase { * this config has been replaced by async_loading_load_task_pool_size, * it will be removed in the future. */ + @Deprecated @ConfField(mutable = false, masterOnly = true) public static int async_load_task_pool_size = 10; 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 285a7e7384..c0732edb03 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 @@ -300,7 +300,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 f7ce60cdcc..fc0cfe08ea 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 @@ -144,6 +144,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 63d1dc7cd7..210684fea9 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 @@ -1600,7 +1600,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 9374a2eeb3..3a59fac9d9 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 @@ -287,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