0
com.sleepycat.je.DatabaseException: (JE 3.2.76) fetchTarget of 0x45/0x27aa63 parent IN=3316846 lastFullVersion=0x45/0x47b147 parent.getDirty()=false state=0 com.sleepycat.je.log.DbChecksumException: (JE 3.2.76) Read invalid log entry type: 97
at com.sleepycat.je.tree.IN.fetchTarget(IN.java:989)
at com.sleepycat.je.tree.Tree.getNextBinInternal(Tree.java:1441)
at com.sleepycat.je.tree.Tree.getNextBin(Tree.java:1306)
at com.sleepycat.je.dbi.CursorImpl.getNextWithKeyChangeStatus(CursorImpl.java:1498)
at com.sleepycat.je.dbi.CursorImpl.getNext(CursorImpl.java:1368)
at com.sleepycat.je.Cursor.retrieveNextAllowPhantoms(Cursor.java:1587)
at com.sleepycat.je.Cursor.retrieveNext(Cursor.java:1397)
at com.sleepycat.je.Cursor.getNext(Cursor.java:456)
at browse.bdb.dao.JENodeDao.load(JENodeDao.java:76)
    .................my code..................
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120)

Caused by: com.sleepycat.je.log.DbChecksumException: (JE 3.2.76) Read invalid log entry type: 97
at com.sleepycat.je.log.LogEntryHeader.<init>(LogEntryHeader.java:69)
at com.sleepycat.je.log.LogManager.getLogEntryFromLogSource(LogManager.java:631)
at com.sleepycat.je.log.LogManager.getLogEntry(LogManager.java:597)
at com.sleepycat.je.tree.IN.fetchTarget(IN.java:958)
... 16 more

怎么了 ?

4

2 回答 2

0

可能是某些日志文件已损坏,请在打开时尝试恢复环境。

于 2013-03-14T22:43:39.483 回答
0

出现此异常是因为我尝试读取尚未刷新到文件系统的记录。
对于 JE,它是: environment.sync();
对于 JNI,它是: environment.syncCache(null);

于 2013-03-15T19:57:35.093 回答