From 0ca29553075e62c551e600c7ace8355d5f480c10 Mon Sep 17 00:00:00 2001 From: sevev Date: Mon, 2 Sep 2024 17:35:06 +0800 Subject: [PATCH] BugFix: Fix the bug in the FE clone scheduling that causes an infinite loop Signed-off-by: sevev --- .../src/main/java/com/starrocks/clone/TabletSchedCtx.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/fe/fe-core/src/main/java/com/starrocks/clone/TabletSchedCtx.java b/fe/fe-core/src/main/java/com/starrocks/clone/TabletSchedCtx.java index 4cf74fff3f3c1..80822d2120766 100644 --- a/fe/fe-core/src/main/java/com/starrocks/clone/TabletSchedCtx.java +++ b/fe/fe-core/src/main/java/com/starrocks/clone/TabletSchedCtx.java @@ -696,6 +696,9 @@ public boolean chooseDestReplicaForVersionIncomplete(Map backend } else if (replica.getLastSuccessVersion() > replica.getLastFailedVersion()) { chosenReplica = replica; break; + } else if (replica.getVersion() < chosen.getVersion()) { + // we should first repair the lower version replica + chosenReplica = replica; } else if (replica.getLastFailedVersion() < chosenReplica.getLastFailedVersion()) { // it's better to select a low last failed version replica chosenReplica = replica;