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));