Berkeley DB Java Edition 3.3.87
OutOfMemoryErrorNullPointerException during eviction when an exception occurs during logging, for example, an IOException when the disk is full. The NullPointerException masked the original exception (e.g., IOException). We'd like to thank OTN Forum user tkram01 for reporting this on the BDB JE Forum. An example stack trace is below.
java.lang.NullPointerException
at com.sleepycat.je.tree.LN.log(LN.java:534)
at com.sleepycat.je.tree.LN.log(LN.java:373)
at com.sleepycat.je.tree.BIN.logDirtyLN(BIN.java:1016)
at com.sleepycat.je.tree.BIN.evictInternal(BIN.java:985)
at com.sleepycat.je.tree.BIN.evictLNs(BIN.java:940)
at com.sleepycat.je.evictor.Evictor.evictIN(Evictor.java:761)
at com.sleepycat.je.evictor.Evictor.evictBatch(Evictor.java:344)
at com.sleepycat.je.evictor.Evictor.doEvict(Evictor.java:244)
at com.sleepycat.je.evictor.Evictor.doCriticalEviction(Evictor.java:269)
at com.sleepycat.je.dbi.CursorImpl.close(CursorImpl.java:711)
at com.sleepycat.je.Cursor.close(Cursor.java:326)
at com.sleepycat.je.Database.putInternal(Database.java:999)
at com.sleepycat.je.Database.put(Database.java:885)
[#17546] - EnvironmentConfig.COMPRESSOR_PURGE_ROOT has been deprecated. This parameter no longer has any effect. Compression of the root node has no benefit and this feature has been removed. This feature was also bug-prone, as reported by penemue on OTN. [#17590] - Fix a bug that could cause OutOfMemoryError when many records are read in a read-only environment, and the data set that is accessed does not fit in available memory. This applies to two types of applications: User applications that open the Environment with the read-only (EnvironmentConfig.setReadOnly(true)) property. The JE utilities that open the Environment read-only: DbVerify, DbStat, and DbDump if neither the -r nor -R switch is specified. Thanks to user8694068 for reporting this on OTN and working with us to diagnose the problem. The complete list of changes can also be found in the change log page. http://www.oracle.com/technology/documentation/berkeley-db/je/changeLog.html