From c92e1292fcee73c30460031cffde58013a710264 Mon Sep 17 00:00:00 2001 From: Yongqiang YANG Date: Thu, 27 Jun 2024 22:05:37 +0800 Subject: [PATCH] (autoinc) avoid duplicated auto inc when role of fe changes --- .../org/apache/doris/catalog/AutoIncrementGenerator.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/AutoIncrementGenerator.java b/fe/fe-core/src/main/java/org/apache/doris/catalog/AutoIncrementGenerator.java index 9528f07e0ca240..be110360850cab 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/catalog/AutoIncrementGenerator.java +++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/AutoIncrementGenerator.java @@ -23,6 +23,7 @@ import org.apache.doris.common.io.Writable; import org.apache.doris.persist.AutoIncrementIdUpdateLog; import org.apache.doris.persist.EditLog; +import org.apache.doris.persist.gson.GsonPostProcessable; import org.apache.doris.persist.gson.GsonUtils; import com.google.common.base.Preconditions; @@ -34,7 +35,7 @@ import java.io.DataOutput; import java.io.IOException; -public class AutoIncrementGenerator implements Writable { +public class AutoIncrementGenerator implements Writable, GsonPostProcessable { private static final Logger LOG = LogManager.getLogger(AutoIncrementGenerator.class); public static final long NEXT_ID_INIT_VALUE = 1; @@ -102,4 +103,10 @@ public void write(DataOutput out) throws IOException { public static AutoIncrementGenerator read(DataInput in) throws IOException { return GsonUtils.GSON.fromJson(Text.readString(in), AutoIncrementGenerator.class); } + + @Override + public void gsonPostProcess() throws IOException { + nextId = batchEndId; + } + }