fe日志频繁报错:get exception when try to close previously opened bdb database.

fe频繁报出该错误,这个错误的形成原因是什么?

2022-12-12 00:06:40,697 WARN (replayer|79) [BDBJournalCursor.next():128] fail to get journal 146534253, will try again. status: OperationStatus.NOTFOUND
2022-12-12 00:06:43,705 WARN (replayer|79) [Catalog.replayJournal():2550] replay journal cost too much time: 3009 replayedJournalId: 146534253
2022-12-12 00:20:39,816 WARN (replayer|79) [BDBEnvironment.openDatabase():310] get exception when try to close previously opened bdb database. ignore it
com.sleepycat.je.rep.DatabasePreemptedException: (JE 7.3.7) (JE 7.3.7) Database 146493928 has been forcibly closed in order to apply a replicated remove operation. This Database and all associated Cursors must be closed. All associated Transactions must be aborted.
at com.sleepycat.je.rep.DatabasePreemptedException.wrapSelf(DatabasePreemptedException.java:113) ~[je-7.3.7.jar:7.3.7]
at com.sleepycat.je.Database.checkOpen(Database.java:2274) ~[je-7.3.7.jar:7.3.7]
at com.sleepycat.je.Database.getDatabaseName(Database.java:2046) ~[je-7.3.7.jar:7.3.7]
at com.starrocks.journal.bdbje.BDBEnvironment.openDatabase(BDBEnvironment.java:286) [starrocks-fe.jar:?]
at com.starrocks.journal.bdbje.BDBJEJournal.getMaxJournalId(BDBJEJournal.java:224) [starrocks-fe.jar:?]
at com.starrocks.persist.EditLog.getMaxJournalId(EditLog.java:99) [starrocks-fe.jar:?]
at com.starrocks.catalog.Catalog.getMaxJournalId(Catalog.java:5568) [starrocks-fe.jar:?]
at com.starrocks.catalog.Catalog.replayJournal(Catalog.java:2516) [starrocks-fe.jar:?]
at com.starrocks.catalog.Catalog$3.runOneCycle(Catalog.java:2324) [starrocks-fe.jar:?]
at com.starrocks.common.util.Daemon.run(Daemon.java:119) [starrocks-fe.jar:?]
Caused by: com.sleepycat.je.rep.DatabasePreemptedException: (JE 7.3.7) Database 146493928 has been forcibly closed in order to apply a replicated remove operation. This Database and all associated Cursors must be closed. All associated Transactions must be aborted.
at com.sleepycat.je.rep.impl.RepImpl.createDatabasePreemptedException(RepImpl.java:2008) ~[je-7.3.7.jar:7.3.7]
at com.sleepycat.je.rep.impl.RepImpl.createDatabasePreemptedException(RepImpl.java:143) ~[je-7.3.7.jar:7.3.7]
at com.sleepycat.je.Database.setPreempted(Database.java:469) ~[je-7.3.7.jar:7.3.7]
at com.sleepycat.je.DbInternal.setPreempted(DbInternal.java:58) ~[je-7.3.7.jar:7.3.7]
at com.sleepycat.je.dbi.DbTree.lockNameLN(DbTree.java:972) ~[je-7.3.7.jar:7.3.7]
at com.sleepycat.je.dbi.DbTree.doRemoveDb(DbTree.java:1172) ~[je-7.3.7.jar:7.3.7]
at com.sleepycat.je.dbi.DbTree.removeReplicaDb(DbTree.java:1239) ~[je-7.3.7.jar:7.3.7]
at com.sleepycat.je.rep.impl.node.Replay.applyNameLN(Replay.java:872) ~[je-7.3.7.jar:7.3.7]
at com.sleepycat.je.rep.impl.node.Replay.replayEntry(Replay.java:598) ~[je-7.3.7.jar:7.3.7]
at com.sleepycat.je.rep.impl.node.Replica$ReplayThread.run(Replica.java:1213) ~[je-7.3.7.jar:7.3.7]
2022-12-12 01:29:45,644 WARN (replayer|79) [BDBEnvironment.openDatabase():310] get exception when try to close previously opened bdb database. ignore it
com.sleepycat.je.rep.DatabasePreemptedException: (JE 7.3.7) (JE 7.3.7) Database 146543928 has been forcibly closed in order to apply a replicated remove operation. This Database and all associated Cursors must be closed. All associated Transactions must be aborted.
at com.sleepycat.je.rep.DatabasePreemptedException.wrapSelf(DatabasePreemptedException.java:113) ~[je-7.3.7.jar:7.3.7]
at com.sleepycat.je.Database.checkOpen(Database.java:2274) ~[je-7.3.7.jar:7.3.7]
at com.sleepycat.je.Database.getDatabaseName(Database.java:2046) ~[je-7.3.7.jar:7.3.7]
at com.starrocks.journal.bdbje.BDBEnvironment.openDatabase(BDBEnvironment.java:286) [starrocks-fe.jar:?]
at com.starrocks.journal.bdbje.BDBJEJournal.getMaxJournalId(BDBJEJournal.java:224) [starrocks-fe.jar:?]
at com.starrocks.persist.EditLog.getMaxJournalId(EditLog.java:99) [starrocks-fe.jar:?]
at com.starrocks.catalog.Catalog.getMaxJournalId(Catalog.java:5568) [starrocks-fe.jar:?]
at com.starrocks.catalog.Catalog.replayJournal(Catalog.java:2516) [starrocks-fe.jar:?]
at com.starrocks.catalog.Catalog$3.runOneCycle(Catalog.java:2324) [starrocks-fe.jar:?]
at com.starrocks.common.util.Daemon.run(Daemon.java:119) [starrocks-fe.jar:?]
Caused by: com.sleepycat.je.rep.DatabasePreemptedException: (JE 7.3.7) Database 146543928 has been forcibly closed in order to apply a replicated remove operation. This Database and all associated Cursors must be closed. All associated Transactions must be aborted.
at com.sleepycat.je.rep.impl.RepImpl.createDatabasePreemptedException(RepImpl.java:2008) ~[je-7.3.7.jar:7.3.7]
at com.sleepycat.je.rep.impl.RepImpl.createDatabasePreemptedException(RepImpl.java:143) ~[je-7.3.7.jar:7.3.7]
at com.sleepycat.je.Database.setPreempted(Database.java:469) ~[je-7.3.7.jar:7.3.7]
at com.sleepycat.je.DbInternal.setPreempted(DbInternal.java:58) ~[je-7.3.7.jar:7.3.7]
at com.sleepycat.je.dbi.DbTree.lockNameLN(DbTree.java:972) ~[je-7.3.7.jar:7.3.7]
at com.sleepycat.je.dbi.DbTree.doRemoveDb(DbTree.java:1172) ~[je-7.3.7.jar:7.3.7]
at com.sleepycat.je.dbi.DbTree.removeReplicaDb(DbTree.java:1239) ~[je-7.3.7.jar:7.3.7]
at com.sleepycat.je.rep.impl.node.Replay.applyNameLN(Replay.java:872) ~[je-7.3.7.jar:7.3.7]
at com.sleepycat.je.rep.impl.node.Replay.replayEntry(Replay.java:598) ~[je-7.3.7.jar:7.3.7]
at com.sleepycat.je.rep.impl.node.Replica$ReplayThread.run(Replica.java:1213) ~[je-7.3.7.jar:7.3.7]

fe.log 中出现 get exception when try to close previously opened bdb database. ignore it

如果后面有 ignore it 字样,通常无需处理。如果你有兴趣,可以在 BDBEnvironment.java 搜索这个错误,查看相关注释说明。