2013-02-05 21 views
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 

什麼問題?BDB JE例外

回答

0

這很可能是某些日誌文件損壞,請嘗試在打開時恢復環境。

0

出現此異常是因爲我試圖讀取未刷新到文件系統的記錄。
對於JE它是:environment.sync();
對於JNI它是:environment.syncCache(null);