You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@doris.apache.org by lu...@apache.org on 2023/06/01 14:24:25 UTC

[doris] branch master updated: [enhancement](publish) print detailed info for failed publish (#20309)

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 <98...@users.noreply.github.com>
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: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org