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 <[email protected]>
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: [email protected]
For additional commands, e-mail: [email protected]