This is an automated email from the ASF dual-hosted git repository.
dataroaring 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 1d315b2c7bd [fix](load data) decommission replica don't load data when
it misses versions (#38198)
1d315b2c7bd is described below
commit 1d315b2c7bd071493e4542a3c292ac09291a5647
Author: yujun <[email protected]>
AuthorDate: Tue Jul 23 17:44:20 2024 +0800
[fix](load data) decommission replica don't load data when it misses
versions (#38198)
BUG: when a decommission replica misses versions (last failed version >
0), it will cause a bug:
1. It cann't do compaction due to it has miss versions;
2. It cann't cloning the missing rowsets because it's decommissioned.
So if it continue to load data, its rowset will increase util it cause
error -235(TOO MANY VERSION).
Fix: don't write data to the decommission replica if it miss rowsets.
---
fe/fe-core/src/main/java/org/apache/doris/catalog/Tablet.java | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/Tablet.java
b/fe/fe-core/src/main/java/org/apache/doris/catalog/Tablet.java
index 3266d0eeb66..c32b2bcbfa9 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/catalog/Tablet.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/Tablet.java
@@ -242,7 +242,9 @@ public class Tablet extends MetaObject {
ReplicaState state = replica.getState();
if (state.canLoad()
- || (state == ReplicaState.DECOMMISSION &&
replica.getPostWatermarkTxnId() < 0)) {
+ || (state == ReplicaState.DECOMMISSION
+ && replica.getPostWatermarkTxnId() < 0
+ && replica.getLastFailedVersion() < 0)) {
map.put(backendId, replica.getPathHash());
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]