From 03d929628014c4dfb3e85ca2286bfb10adec9e00 Mon Sep 17 00:00:00 2001 From: walter Date: Fri, 30 Aug 2024 14:18:26 +0800 Subject: [PATCH] [fix](restore) Reset next version for remote table when restore #40118 (#40166) cherry pick from #40118 Co-authored-by: smallx --- .../src/main/java/org/apache/doris/backup/RestoreJob.java | 3 +++ .../src/main/java/org/apache/doris/catalog/OlapTable.java | 6 ++++++ 2 files changed, 9 insertions(+) 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 79e49a2b09c809..c0d89ec1b62d9f 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 @@ -728,6 +728,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 bf0b6bb62d6db6..fbd01606e62b93 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 @@ -549,6 +549,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