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