This is an automated email from the ASF dual-hosted git repository.
dataroaring 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 29a97669ef0 [fix](cloud) fix replay journal fail when FE node upgrade
(#36156)
29a97669ef0 is described below
commit 29a97669ef07af70e65dab86d6df621e026239e0
Author: hui lai <[email protected]>
AuthorDate: Mon Jun 24 21:41:43 2024 +0800
[fix](cloud) fix replay journal fail when FE node upgrade (#36156)
## Proposed changes
introduce by https://github.com/apache/doris/pull/32759
when upgrade 2.1 to master, error happened:
```
java.io.EOFException: null
at java.io.DataInputStream.readInt(DataInputStream.java:398) ~[?:?]
at org.apache.doris.common.io.Text.readString(Text.java:413)
~[fe-common-1.2-SNAPSHOT.jar:1.2-SNAPSHOT]
at
org.apache.doris.load.loadv2.LoadJobFinalOperation.readFields(LoadJobFinalOperation.java:160)
~[doris-fe.jar:1.2-SNAPSHOT]
at
org.apache.doris.transaction.TxnCommitAttachment.read(TxnCommitAttachment.java:77)
~[doris-fe.jar:1.2-SNAPSHOT]
at
org.apache.doris.journal.JournalEntity.readFields(JournalEntity.java:569)
~[doris-fe.jar:1.2-SNAPSHOT]
at
org.apache.doris.journal.bdbje.BDBJournalCursor.next(BDBJournalCursor.java:115)
~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.catalog.Env.replayJournal(Env.java:2863)
~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.catalog.Env.transferToMaster(Env.java:1503)
~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.catalog.Env.access$1300(Env.java:332)
~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.catalog.Env$5.runOneCycle(Env.java:2764)
~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.common.util.Daemon.run(Daemon.java:116)
~[doris-fe.jar:1.2-SNAPSHOT]
```
Using a comparison of the FE meta version to solve this problem. 2.1 fe
meta version is 129, use the fe version 131 used by
[pr](https://github.com/apache/doris/pull/32759) at that time as the
comparison value.
---
.../doris/load/loadv2/LoadJobFinalOperation.java | 25 +++++++++++++---------
1 file changed, 15 insertions(+), 10 deletions(-)
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/load/loadv2/LoadJobFinalOperation.java
b/fe/fe-core/src/main/java/org/apache/doris/load/loadv2/LoadJobFinalOperation.java
index f0fe2ea6872..223dbd1ed7b 100644
---
a/fe/fe-core/src/main/java/org/apache/doris/load/loadv2/LoadJobFinalOperation.java
+++
b/fe/fe-core/src/main/java/org/apache/doris/load/loadv2/LoadJobFinalOperation.java
@@ -17,6 +17,7 @@
package org.apache.doris.load.loadv2;
+import org.apache.doris.common.Config;
import org.apache.doris.common.io.Text;
import org.apache.doris.common.io.Writable;
import org.apache.doris.load.EtlStatus;
@@ -139,10 +140,12 @@ public class LoadJobFinalOperation extends
TxnCommitAttachment implements Writab
out.writeBoolean(true);
failMsg.write(out);
}
- Text.writeString(out, copyId);
- Text.writeString(out, loadFilePaths);
- Gson gson = new Gson();
- Text.writeString(out, properties == null ? "" :
gson.toJson(properties));
+ if (Config.isCloudMode()) {
+ Text.writeString(out, copyId);
+ Text.writeString(out, loadFilePaths);
+ Gson gson = new Gson();
+ Text.writeString(out, properties == null ? "" :
gson.toJson(properties));
+ }
}
public void readFields(DataInput in) throws IOException {
@@ -157,12 +160,14 @@ public class LoadJobFinalOperation extends
TxnCommitAttachment implements Writab
failMsg = new FailMsg();
failMsg.readFields(in);
}
- copyId = Text.readString(in);
- loadFilePaths = Text.readString(in);
- String property = Text.readString(in);
- properties = property.isEmpty() ? new HashMap<>()
- : (new Gson().fromJson(property, new TypeToken<Map<String,
String>>() {
- }.getType()));
+ if (Config.isCloudMode()) {
+ copyId = Text.readString(in);
+ loadFilePaths = Text.readString(in);
+ String property = Text.readString(in);
+ properties = property.isEmpty() ? new HashMap<>()
+ : (new Gson().fromJson(property, new TypeToken<Map<String,
String>>() {
+ }.getType()));
+ }
}
@Override
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]