我们正在尝试运行数据集并将记录插入BerkeleyDB(版本JE 5.0.103),并遇到以下故障。我们可以运行其他数据集,但是对于特定数据集,我们会遇到此错误。
Size of current value: 206911625
Mar 03, 2019 7:54:06 AM com.sleepycat.je.utilint.DaemonThread run
SEVERE: <DaemonThread name="Checkpointer"/> caught exception, com.sleepycat.je.EnvironmentFailureException: (JE 5.0.103) /srv/serpent java.lang.IllegalArgumentException UNEXPECTED_EXCEPTION_FATAL: Unexpected internal Exception, unable to continue. Environment is invalid and must be closed. Exiting
com.sleepycat.je.EnvironmentFailureException: (JE 5.0.103) /srv/serpent java.lang.IllegalArgumentException UNEXPECTED_EXCEPTION_FATAL: Unexpected internal Exception, unable to continue. Environment is invalid and must be closed.
at com.sleepycat.je.EnvironmentFailureException.unexpectedException(EnvironmentFailureException.java:351)`
at com.sleepycat.je.log.LogManager.multiLog(LogManager.java:466)
at com.sleepycat.je.recovery.Checkpointer.logSiblings(Checkpointer.java:1474)
at com.sleepycat.je.recovery.Checkpointer.flushIN(Checkpointer.java:1198)
at com.sleepycat.je.recovery.Checkpointer.flushDirtyNodes(Checkpointer.java:951)
at com.sleepycat.je.recovery.Checkpointer.doCheckpoint(Checkpointer.java:735)
at com.sleepycat.je.recovery.Checkpointer.onWakeup(Checkpointer.java:508)
at com.sleepycat.je.utilint.DaemonThread.run(DaemonThread.java:148)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.IllegalArgumentException
at java.nio.ByteBuffer.allocate(ByteBuffer.java:334)
at com.sleepycat.je.log.LogManager.marshallIntoBuffer(LogManager.java:837)
at com.sleepycat.je.log.LogManager.multiLog(LogManager.java:402)
... 7 more
Size of current value: 164052585
com.sleepycat.je.EnvironmentFailureException: (JE 5.0.103) Environment must be closed, caused by: com.sleepycat.je.EnvironmentFailureException: Environment invalid because of previous exception: (JE 5.0.103) /srv/serpent java.lang.IllegalArgumentException UNEXPECTED_EXCEPTION_FATAL: Unexpected internal Exception, unable to continue. Environment is invalid and must be closed.
at com.sleepycat.je.EnvironmentFailureException.wrapSelf(EnvironmentFailureException.java:246)
at com.sleepycat.je.dbi.EnvironmentImpl.checkIfInvalid(EnvironmentImpl.java:1618)
at com.sleepycat.je.Environment.checkEnv(Environment.java:2225)
at com.sleepycat.je.Environment.beginTransactionInternal(Environment.java:1348)
at com.sleepycat.je.Environment.beginTransaction(Environment.java:1319)
at edu.ncsu.csc.coul.pathquery.storage.BdbStorage.writeEntryToBdb(BdbStorage.java:882)
at edu.ncsu.csc.coul.pathquery.storage.BdbStorage.writeToBDb(BdbStorage.java:702)
at edu.ncsu.csc.coul.pathquery.newGraph.storeGraphToBdb(newGraph.java:2931)
at edu.ncsu.csc.coul.pathquery.newGraph.eliminate(newGraph.java:2894)
at edu.ncsu.csc.coul.pathquery.newGraph.<init>(newGraph.java:1319)
at edu.ncsu.csc.coul.pathquery.QueryProcessor.createPathSequence(QueryProcessor.java:3162)
at edu.ncsu.csc.coul.pathquery.exec.PathQueryDriver.main(PathQueryDriver.java:322)
Caused by: com.sleepycat.je.EnvironmentFailureException: Environment invalid because of previous exception: (JE 5.0.103) /srv/serpent java.lang.IllegalArgumentException UNEXPECTED_EXCEPTION_FATAL: Unexpected internal Exception, unable to continue. Environment is invalid and must be closed.
at com.sleepycat.je.EnvironmentFailureException.unexpectedException(EnvironmentFailureException.java:351)
at com.sleepycat.je.log.LogManager.multiLog(LogManager.java:466)
at com.sleepycat.je.recovery.Checkpointer.logSiblings(Checkpointer.java:1474)
at com.sleepycat.je.recovery.Checkpointer.flushIN(Checkpointer.java:1198)
at com.sleepycat.je.recovery.Checkpointer.flushDirtyNodes(Checkpointer.java:951)
at com.sleepycat.je.recovery.Checkpointer.doCheckpoint(Checkpointer.java:735)
at com.sleepycat.je.recovery.Checkpointer.onWakeup(Checkpointer.java:508)
at com.sleepycat.je.utilint.DaemonThread.run(DaemonThread.java:148)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.IllegalArgumentException
at java.nio.ByteBuffer.allocate(ByteBuffer.java:334)
at com.sleepycat.je.log.LogManager.marshallIntoBuffer(LogManager.java:837)
at com.sleepycat.je.log.LogManager.multiLog(LogManager.java:402)
... 7 more
Couldn't store to recordDb
我们还在运行应用程序时打印出了数据库统计信息。
Home of the Database: /srv/serpent General database environment statistics: I/O: Log file opens, fsyncs, reads, writes, cache misses.
bufferBytes=3,145,728
endOfLog=0x3b/0x19e1ae
nBytesReadFromWriteQueue=0
nBytesWrittenFromWriteQueue=0
nCacheMiss=112
nFSyncRequests=1
nFSyncTime=240
nFSyncs=1
nFileOpens=22
nGroupCommitRequests=1
nGroupCommitWaits=0
nGrpCommitTimeouts=0
nLogBuffers=3
nLogFSyncs=3
nLogIntervalExceeded=0
nLogMaxGroupCommitThreshold=0
nNoFreeBuffer=0
nNotResident=112
nOpenFiles=0
nRandomReadBytes=103,225,344
nRandomReads=177
nRandomWriteBytes=177,504
nRandomWrites=2
nReadsFromWriteQueue=0
nRepeatFaultReads=46
nSequentialReadBytes=114,590,040
nSequentialReads=167
nSequentialWriteBytes=1,696,223
nSequentialWrites=2
nTempBufferWrites=1
nWriteQueueOverflow=0
nWriteQueueOverflowFailures=0
nWritesFromWriteQueue=0
有人可以指导我们如何解决此问题吗?