首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OrientDB OByteBufferPool误差

OrientDB OByteBufferPool误差
EN

Stack Overflow用户
提问于 2016-05-08 19:00:00
回答 1查看 99关注 0票数 0

我刚刚将OrientDB从2.1.19升级到了2.2-rc1,这是this issue的结果。

总的来说,我在嵌入式OrientDB中运行plocal,并且该应用程序是使用以下设置(仅包括相关设置)启动的:

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

这个应用程序会启动,一开始一切都很好。然而,过了一会儿,我得到了以下错误:

代码语言:javascript
复制
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)

一旦错误发生,,一些查询停止工作。我猜这个错误是由于缺乏本机内存造成的。有没有人对造成这一现象的具体原因有任何洞察力,以及如何防止。如果需要,我可以分配更多的内存。我只是不确定要分配什么类型的内存。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-05-09 08:08:44

它缺少了这个新的设置:

代码语言:javascript
复制
-XX:MaxDirectMemorySize=512g 

在升级之前,请查看v2.2中的所有更改:http://orientdb.com/docs/last/Release-2.2.0.html#release-22x

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37103692

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档