This is an automated email from the ASF dual-hosted git repository.
luzhijing 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 363e78f08f [enhancement](publish) print detailed info for failed
publish (#20309)
363e78f08f is described below
commit 363e78f08fd80e5c12958b8a074928fa5e9c1b2d
Author: Yongqiang YANG <[email protected]>
AuthorDate: Thu Jun 1 22:24:16 2023 +0800
[enhancement](publish) print detailed info for failed publish (#20309)
---
.../apache/doris/transaction/DatabaseTransactionMgr.java | 15 ++++++++++++++-
1 file changed, 14 insertions(+), 1 deletion(-)
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 4c50ae9127..5d6b94bfbb 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
@@ -928,9 +928,19 @@ public class DatabaseTransactionMgr {
for (Tablet tablet : index.getTablets()) {
int healthReplicaNum = 0;
for (Replica replica : tablet.getReplicas()) {
- if (!errorReplicaIds.contains(replica.getId())
&& replica.getLastFailedVersion() < 0) {
+ if (replica.getLastFailedVersion() >= 0) {
+ LOG.info("publish version failed for
transaction {} on tablet {},"
+ + " on replica {} due to
lastFailedVersion >= 0",
+ transactionState, tablet,
replica);
+ continue;
+ }
+ if
(!errorReplicaIds.contains(replica.getId())) {
if
(replica.checkVersionCatchUp(partition.getVisibleVersion(), true)) {
++healthReplicaNum;
+ } else {
+ LOG.info("publish version failed for
transaction {} on tablet {},"
+ + " on replica {} due to not
catchup",
+ transactionState, tablet,
replica);
}
} else if (replica.getVersion() >=
partitionCommitInfo.getVersion()) {
// the replica's version is larger than or
equal to current transaction
@@ -938,6 +948,9 @@ public class DatabaseTransactionMgr {
// TODO(cmy): actually I have no idea why
we need this check
errorReplicaIds.remove(replica.getId());
++healthReplicaNum;
+ } else {
+ LOG.info("publish version failed for
transaction {} on tablet {},"
+ + " on replica {} due to version
hole", transactionState, tablet, replica);
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]