diff --git a/fe/fe-core/src/main/java/org/apache/doris/backup/RestoreJob.java b/fe/fe-core/src/main/java/org/apache/doris/backup/RestoreJob.java index 5420764fe68a8d..cb091bf0e06a4f 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/backup/RestoreJob.java +++ b/fe/fe-core/src/main/java/org/apache/doris/backup/RestoreJob.java @@ -751,6 +751,9 @@ private void checkAndPrepareMeta() { return; } + // reset next version to visible version + 1 for all partitions + remoteOlapTbl.resetVersionForRestore(); + // Reset properties to correct values. remoteOlapTbl.resetPropertiesForRestore(reserveDynamicPartitionEnable, reserveReplica, replicaAlloc, isBeingSynced); diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/OlapTable.java b/fe/fe-core/src/main/java/org/apache/doris/catalog/OlapTable.java index 0fcde599088088..9e2b0bca56cd85 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/catalog/OlapTable.java +++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/OlapTable.java @@ -577,6 +577,12 @@ public void resetPropertiesForRestore(boolean reserveDynamicPartitionEnable, boo setColocateGroup(null); } + public void resetVersionForRestore() { + for (Partition partition : idToPartition.values()) { + partition.setNextVersion(partition.getVisibleVersion() + 1); + } + } + public Status resetIdsForRestore(Env env, Database db, ReplicaAllocation restoreReplicaAlloc, boolean reserveReplica, String srcDbName) { // ATTN: The meta of the restore may come from different clusters, so the