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 <[email protected]>
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: [email protected]
For additional commands, e-mail: [email protected]