You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@doris.apache.org by "morningman (via GitHub)" <gi...@apache.org> on 2023/04/16 14:05:22 UTC

[GitHub] [doris] morningman commented on a diff in pull request #18696: [fix](publish) publish go ahead even if quorum is not met

morningman commented on code in PR #18696:
URL: https://github.com/apache/doris/pull/18696#discussion_r1167930960


##########
fe/fe-core/src/main/java/org/apache/doris/transaction/DatabaseTransactionMgr.java:
##########
@@ -941,7 +941,20 @@ public void finishTransaction(long transactionId, Set<Long> errorReplicaIds) thr
                                 }
                             }
 
-                            if (healthReplicaNum < quorumReplicaNum) {
+                            if (transactionState.isPublishTimeout() && healthReplicaNum > 0) {
+                                // We can not do any thing except retrying,
+                                // because publish task is assigned a version,
+                                // and doris does not permit discontinuous
+                                // versions.
+                                //
+                                // If a timeout happens, it means that the rowset
+                                // that are being publised exists on a few replicas we should go

Review Comment:
   ```suggestion
                                   // that are being published exists on a few replicas we should go
   ```



##########
fe/fe-core/src/main/java/org/apache/doris/transaction/DatabaseTransactionMgr.java:
##########
@@ -941,7 +941,20 @@ public void finishTransaction(long transactionId, Set<Long> errorReplicaIds) thr
                                 }
                             }
 
-                            if (healthReplicaNum < quorumReplicaNum) {
+                            if (transactionState.isPublishTimeout() && healthReplicaNum > 0) {
+                                // We can not do any thing except retrying,
+                                // because publish task is assigned a version,
+                                // and doris does not permit discontinuous
+                                // versions.
+                                //
+                                // If a timeout happens, it means that the rowset
+                                // that are being publised exists on a few replicas we should go
+                                // ahead, otherwise data may be lost and thre

Review Comment:
   And why data will be lost?



##########
fe/fe-core/src/main/java/org/apache/doris/transaction/DatabaseTransactionMgr.java:
##########
@@ -941,7 +941,20 @@ public void finishTransaction(long transactionId, Set<Long> errorReplicaIds) thr
                                 }
                             }
 
-                            if (healthReplicaNum < quorumReplicaNum) {
+                            if (transactionState.isPublishTimeout() && healthReplicaNum > 0) {
+                                // We can not do any thing except retrying,
+                                // because publish task is assigned a version,
+                                // and doris does not permit discontinuous
+                                // versions.
+                                //
+                                // If a timeout happens, it means that the rowset
+                                // that are being publised exists on a few replicas we should go
+                                // ahead, otherwise data may be lost and thre

Review Comment:
   ```suggestion
                                   // ahead, otherwise data may be lost and the
   ```



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


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