From 56342278f190fcd09362e227dc414ba7caa04935 Mon Sep 17 00:00:00 2001 From: Lijia Liu Date: Thu, 7 Mar 2024 12:18:21 +0800 Subject: [PATCH] [bug](meta) exit when get RollbackException in observer (#31687) --- .../java/org/apache/doris/journal/bdbje/BDBJEJournal.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/fe/fe-core/src/main/java/org/apache/doris/journal/bdbje/BDBJEJournal.java b/fe/fe-core/src/main/java/org/apache/doris/journal/bdbje/BDBJEJournal.java index e00288eac5..13fa926c06 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/journal/bdbje/BDBJEJournal.java +++ b/fe/fe-core/src/main/java/org/apache/doris/journal/bdbje/BDBJEJournal.java @@ -662,6 +662,13 @@ public class BDBJEJournal implements Journal { // CHECKSTYLE IGNORE THIS LINE: B } } catch (RollbackException rollbackEx) { if (!Env.isCheckpointThread()) { + // Because Doris FE can not rollback its edit log, so it should restart and replay the new master's + // edit log. + if (rollbackEx.getEarliestTransactionId() != 0) { + LOG.error("Catch rollback log exception and it may have replayed outdated " + + "logs, so exec System.exit(-1).", rollbackEx); + System.exit(-1); + } LOG.warn("catch rollback log exception. will reopen the ReplicatedEnvironment.", rollbackEx); bdbEnvironment.close(); bdbEnvironment.openReplicatedEnvironment(new File(environmentPath));