This is an automated email from the ASF dual-hosted git repository. yiguolei pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/master by this push: new ee8dffbfb7 [meta](recover) change dropInfo and RecoverInfo to GSON (#13830) ee8dffbfb7 is described below commit ee8dffbfb7d00a1f6d715bbabe72a85a2868a056 Author: Mingyu Chen <morningman....@gmail.com> AuthorDate: Wed Nov 2 13:32:46 2022 +0800 [meta](recover) change dropInfo and RecoverInfo to GSON (#13830) --- .../org/apache/doris/journal/JournalEntity.java | 9 ++--- .../java/org/apache/doris/persist/DropInfo.java | 39 +++++++++++----------- .../java/org/apache/doris/persist/RecoverInfo.java | 28 ++++++++++++---- 3 files changed, 44 insertions(+), 32 deletions(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/journal/JournalEntity.java b/fe/fe-core/src/main/java/org/apache/doris/journal/JournalEntity.java index 51d7f4cec3..11e8ca03dd 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/journal/JournalEntity.java +++ b/fe/fe-core/src/main/java/org/apache/doris/journal/JournalEntity.java @@ -196,8 +196,7 @@ public class JournalEntity implements Writable { break; } case OperationType.OP_DROP_TABLE: { - data = new DropInfo(); - ((DropInfo) data).readFields(in); + data = DropInfo.read(in); isRead = true; break; } @@ -238,14 +237,12 @@ public class JournalEntity implements Writable { case OperationType.OP_RECOVER_DB: case OperationType.OP_RECOVER_TABLE: case OperationType.OP_RECOVER_PARTITION: { - data = new RecoverInfo(); - ((RecoverInfo) data).readFields(in); + data = RecoverInfo.read(in); isRead = true; break; } case OperationType.OP_DROP_ROLLUP: { - data = new DropInfo(); - ((DropInfo) data).readFields(in); + data = DropInfo.read(in); isRead = true; break; } diff --git a/fe/fe-core/src/main/java/org/apache/doris/persist/DropInfo.java b/fe/fe-core/src/main/java/org/apache/doris/persist/DropInfo.java index 713c7ff051..50ee6adb89 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/persist/DropInfo.java +++ b/fe/fe-core/src/main/java/org/apache/doris/persist/DropInfo.java @@ -19,18 +19,26 @@ package org.apache.doris.persist; import org.apache.doris.catalog.Env; import org.apache.doris.common.FeMetaVersion; +import org.apache.doris.common.io.Text; import org.apache.doris.common.io.Writable; +import org.apache.doris.persist.gson.GsonUtils; + +import com.google.gson.annotations.SerializedName; import java.io.DataInput; import java.io.DataOutput; import java.io.IOException; public class DropInfo implements Writable { + @SerializedName(value = "dbId") private long dbId; + @SerializedName(value = "tableId") private long tableId; - + @SerializedName(value = "indexId") private long indexId; + @SerializedName(value = "forceDrop") private boolean forceDrop = false; + @SerializedName(value = "recycleTime") private long recycleTime = 0; public DropInfo() { @@ -61,24 +69,16 @@ public class DropInfo implements Writable { } public Long getRecycleTime() { - return recycleTime; + return recycleTime; } @Override public void write(DataOutput out) throws IOException { - out.writeLong(dbId); - out.writeLong(tableId); - out.writeBoolean(forceDrop); - if (indexId == -1L) { - out.writeBoolean(false); - } else { - out.writeBoolean(true); - out.writeLong(indexId); - } - out.writeLong(recycleTime); + Text.writeString(out, GsonUtils.GSON.toJson(this)); } - public void readFields(DataInput in) throws IOException { + @Deprecated + private void readFields(DataInput in) throws IOException { dbId = in.readLong(); tableId = in.readLong(); forceDrop = in.readBoolean(); @@ -88,15 +88,16 @@ public class DropInfo implements Writable { } else { indexId = -1L; } - if (Env.getCurrentEnvJournalVersion() >= FeMetaVersion.VERSION_114) { - recycleTime = in.readLong(); - } } public static DropInfo read(DataInput in) throws IOException { - DropInfo dropInfo = new DropInfo(); - dropInfo.readFields(in); - return dropInfo; + if (Env.getCurrentEnvJournalVersion() >= FeMetaVersion.VERSION_114) { + return GsonUtils.GSON.fromJson(Text.readString(in), DropInfo.class); + } else { + DropInfo dropInfo = new DropInfo(); + dropInfo.readFields(in); + return dropInfo; + } } public boolean equals(Object obj) { diff --git a/fe/fe-core/src/main/java/org/apache/doris/persist/RecoverInfo.java b/fe/fe-core/src/main/java/org/apache/doris/persist/RecoverInfo.java index 601d282008..9c4302a14d 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/persist/RecoverInfo.java +++ b/fe/fe-core/src/main/java/org/apache/doris/persist/RecoverInfo.java @@ -21,17 +21,26 @@ import org.apache.doris.catalog.Env; import org.apache.doris.common.FeMetaVersion; import org.apache.doris.common.io.Text; import org.apache.doris.common.io.Writable; +import org.apache.doris.persist.gson.GsonUtils; + +import com.google.gson.annotations.SerializedName; import java.io.DataInput; import java.io.DataOutput; import java.io.IOException; public class RecoverInfo implements Writable { + @SerializedName(value = "dbId") private long dbId; + @SerializedName(value = "newDbName") private String newDbName; + @SerializedName(value = "tableId") private long tableId; + @SerializedName(value = "newTableName") private String newTableName; + @SerializedName(value = "partitionId") private long partitionId; + @SerializedName(value = "newPartitionName") private String newPartitionName; public RecoverInfo() { @@ -83,15 +92,20 @@ public class RecoverInfo implements Writable { Text.writeString(out, newPartitionName); } - public void readFields(DataInput in) throws IOException { - dbId = in.readLong(); - tableId = in.readLong(); - partitionId = in.readLong(); + public static RecoverInfo read(DataInput in) throws IOException { if (Env.getCurrentEnvJournalVersion() >= FeMetaVersion.VERSION_114) { - newDbName = Text.readString(in); - newTableName = Text.readString(in); - newPartitionName = Text.readString(in); + return GsonUtils.GSON.fromJson(Text.readString(in), RecoverInfo.class); + } else { + RecoverInfo recoverInfo = new RecoverInfo(); + recoverInfo.readFields(in); + return recoverInfo; } } + @Deprecated + private void readFields(DataInput in) throws IOException { + dbId = in.readLong(); + tableId = in.readLong(); + partitionId = in.readLong(); + } } --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org