OrientDB OByteBufferPool 错误

OrientDB OByteBufferPool Error

由于 ,我刚刚将 OrientDB 从 2.1.19 升级到 2.2-rc1

回顾一下,我是 运行 嵌入式 OrientDB plocal 并且正在使用以下设置启动应用程序(仅包括相关设置):

java -d64 -Xmx2G -Dstorage.diskCache.bufferSize=10000 -server -XX:+AggressiveOpts -XX:CompileThreshold=200 -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=${LOG_PATH}/heapdump.hprof -jar app start

应用程序启动,最初一切正常。但是过了一会儿我收到以下错误:

Caused by: java.lang.NullPointerException: null
        at com.orientechnologies.common.directmemory.OByteBufferPool.acquireDirect(OByteBufferPool.java:269)
        at com.orientechnologies.orient.core.storage.cache.local.OWOWCache.cacheFileContent(OWOWCache.java:1206)
        at com.orientechnologies.orient.core.storage.cache.local.OWOWCache.load(OWOWCache.java:617)
        at com.orientechnologies.orient.core.storage.cache.local.twoq.O2QCache.updateCache(O2QCache.java:1224)
        at com.orientechnologies.orient.core.storage.cache.local.twoq.O2QCache.doLoad(O2QCache.java:447)
        at com.orientechnologies.orient.core.storage.cache.local.twoq.O2QCache.load(O2QCache.java:392)
        at com.orientechnologies.orient.core.storage.impl.local.paginated.base.ODurableComponent.loadPage(ODurableComponent.java:150)
        at com.orientechnologies.orient.core.storage.impl.local.paginated.OPaginatedCluster.readRecordNoLock(OPaginatedCluster.java:649) 
        at com.orientechnologies.orient.core.storage.impl.local.paginated.OPaginatedCluster.readRecord(OPaginatedCluster.java:622)
        at com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.doReadRecord(OAbstractPaginatedStorage.java:3163)
        at com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.readRecord(OAbstractPaginatedStorage.java:2805)
        at com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.readRecord(OAbstractPaginatedStorage.java:1023)
        at com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx$SimpleRecordReader.readRecord(ODatabaseDocumentTx.java:3168)
        at com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.executeReadRecord(ODatabaseDocumentTx.java:1824)

错误发生后一些查询停止工作。我猜这个错误是由于缺乏本机内存引起的。是否有人对具体导致这种情况的原因以及如何预防有任何见解。如果需要,我可以分配更多内存。我只是不确定要分配的 类型 内存。

它缺少这个新设置:

-XX:MaxDirectMemorySize=512g 

升级前请查看v2.2的所有变化:http://orientdb.com/docs/last/Release-2.2.0.html#release-22x.