Skip to Main Content

Berkeley DB Family

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

com.sleepycat.je.log.ChecksumException: Read invalid log entry type: 49

725717Mar 21 2011 — edited Jun 17 2013
All,
We have been using BDB in various deployments with good success. Recently we have had 2 cases with different customers where jrockit has been used and after a short period of running the following exception is experienced. In an attempt to recover the BDB environment and make things work again - our application detects the failure and restarts the process - however recovery is also failing which means we end up failing repeatedly. We are not using txns. We have not been able to reproduce it in our lab so are relying on their logs. From looking at the other thread is seems the exception indicates corruption although we hoped the recovery would overcome this.

Is it possible to prevent the problem from occurring?

Where it has occurred, would a Environment.sync() be expected to recover the last sync & checkpoint correctly?

BDB v4.1.7
JRockit 6 32bit
OS: Windows Server x64

Best Regards, Neil.

com.sleepycat.je.EnvironmentFailureException: (JE 4.1.7) Environment must be closed, caused by: com.sleepycat.je.EnvironmentFailureException: Environment invalid because of previous exception: (JE 4.1.7) work\bucketed_db com.sleepycat.je.log.ChecksumException: Read invalid log entry type: 49 LOG_CHECKSUM: Checksum invalid on read, log is likely invalid. Environment is invalid and must be closed. fetchTarget of 0x0/0xf58d3e parent IN=25726 IN class=com.sleepycat.je.tree.BIN lastFullVersion=0x1/0x1016537 parent.getDirty()=true state=0

at com.sleepycat.je.EnvironmentFailureException.wrapSelf(EnvironmentFailureException.java:196)

at com.sleepycat.je.dbi.EnvironmentImpl.checkIfInvalid(EnvironmentImpl.java:1439)

at com.sleepycat.je.dbi.CursorImpl.checkEnv(CursorImpl.java:2994)

at com.sleepycat.je.Cursor.checkEnv(Cursor.java:2898)

at com.sleepycat.je.Cursor.close(Cursor.java:449)

at com.sleepycat.je.Database.putInternal(Database.java:1190)

at com.sleepycat.je.Database.put(Database.java:1058)

at com.sleepycat.persist.PrimaryIndex.putNoReturn(PrimaryIndex.java:479)

at com.sleepycat.persist.PrimaryIndex.putNoReturn(PrimaryIndex.java:442)

at com.li.log.dw.AddLineToBucketTxn.doWork(AddLineToBucketTxn.java:66)

at com.sleepycat.collections.TransactionRunner.run(TransactionRunner.java:267)

at com.li.log.dw.DWLineStoreImpl.runTxn(DWLineStoreImpl.java:218)

at com.li.log.dw.DWLineStoreImpl.add(DWLineStoreImpl.java:156)

at com.li.log.dw.DWLineStoreImpl.add(DWLineStoreImpl.java:183)

at com.li.log.reader.FileIngester.flushToIndex(FileIngester.java:176)

at com.li.log.reader.FileIngester.readNext(FileIngester.java:148)

at com.li.log.TailerImpl.tail(TailerImpl.java:265)

at com.li.log.TailerImpl.call(TailerImpl.java:149)

at com.li.log.TailerImpl.call(TailerImpl.java:35)

at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)

at java.util.concurrent.FutureTask.run(FutureTask.java:138)

at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:98)

at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:206)

at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)

at java.lang.Thread.run(Thread.java:662)

Caused by: com.sleepycat.je.EnvironmentFailureException: Environment invalid because of previous exception: (JE 4.1.7) work\bucketed_db com.sleepycat.je.log.ChecksumException: Read invalid log entry type: 49 LOG_CHECKSUM: Checksum invalid on read, log is likely invalid. Environment is invalid and must be closed. fetchTarget of 0x0/0xf58d3e parent IN=25726 IN class=com.sleepycat.je.tree.BIN lastFullVersion=0x1/0x1016537 parent.getDirty()=true state=0

at com.sleepycat.je.log.LogManager.getLogEntry(LogManager.java:784)

at com.sleepycat.je.log.LogManager.getLogEntryAllowInvisibleAtRecovery(LogManager.java:742)

at com.sleepycat.je.tree.IN.fetchTarget(IN.java:1320)

at com.sleepycat.je.tree.BIN.fetchTarget(BIN.java:1367)

at com.sleepycat.je.tree.Tree.getSlotReuseInfo(Tree.java:2672)

at com.sleepycat.je.tree.Tree.insert(Tree.java:2475)

at com.sleepycat.je.dbi.CursorImpl.put(CursorImpl.java:1209)

at com.sleepycat.je.Cursor.putAllowPhantoms(Cursor.java:1799)

at com.sleepycat.je.Cursor.putNoNotify(Cursor.java:1756)

at com.sleepycat.je.Cursor.putNotify(Cursor.java:1689)

at com.sleepycat.je.Cursor.putInternal(Cursor.java:1626)

at com.sleepycat.je.Database.putInternal(Database.java:1186)

at com.sleepycat.je.Database.put(Database.java:1058)

at com.sleepycat.persist.PrimaryIndex.putNoReturn(PrimaryIndex.java:480)

at com.sleepycat.persist.PrimaryIndex.putNoReturn(PrimaryIndex.java:443)

at com.li.log.dw.AddLineToBucketTxn.doWork(AddLineToBucketTxn.java:66)

at com.sleepycat.collections.TransactionRunner.run(TransactionRunner.java:267)

at com.li.log.dw.DWLineStoreImpl.runTxn(DWLineStoreImpl.java:218)

at com.li.log.dw.DWLineStoreImpl.add(DWLineStoreImpl.java:156)

at com.li.log.dw.DWLineStoreImpl.add(DWLineStoreImpl.java:184)

at com.li.log.reader.FileIngester.flushToIndex(FileIngester.java:177)

at com.li.log.reader.FileIngester.readNext(FileIngester.java:148)

at com.li.log.TailerImpl.tail(TailerImpl.java:265)

at com.li.log.TailerImpl.call(TailerImpl.java:149)

at com.li.log.TailerImpl.call(TailerImpl.java:35)

at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)

at java.util.concurrent.FutureTask.run(FutureTask.java:139)

at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:98)

at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:206)

at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:909)

... 1 more

Caused by: com.sleepycat.je.log.ChecksumException: Read invalid log entry type: 49

at com.sleepycat.je.log.LogEntryHeader.<init>(LogEntryHeader.java:138)

at com.sleepycat.je.log.LogManager.getLogEntryFromLogSource(LogManager.java:861)

at com.sleepycat.je.log.LogManager.getLogEntry(LogManager.java:781)

... 31 more

2011-03-16 11:10:24,516 ERROR tailer-sched-27-3 (indexer.BigIndexer) Fatal DB ERROR:
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Jul 15 2013
Added on Mar 21 2011
3 comments
4,056 views