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;