2016-05-08 4 views
0

Я только модернизировал OrientDB от 2.1.19 в 2,2-rc1 в результате this issue.OrientDB OByteBufferPool Ошибка

Как резюмировать, я бег 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) 

После возникновения ошибки некоторых запросов перестает работать. Я предполагаю, что ошибка возникает из-за нехватки собственной памяти. Кто-нибудь имеет представление о том, что конкретно вызывает это и как его предотвратить. При необходимости я могу выделить больше памяти. Я просто не уверен типа памяти для выделения.

ответ

0

Это отсутствует этот новый параметр:

-XX:MaxDirectMemorySize=512g 

Пожалуйста, смотрите на все изменения в v2.2, прежде чем модернизировать: http://orientdb.com/docs/last/Release-2.2.0.html#release-22x.

+0

Привет, Лука, вам не кажется, что 512 г немного? Я запускаю тесты со встроенными orientdb, и maven не может запустить разветвленную VM с MaxDirectMemorySize = 512g. –

+0

'-XX: MaxDirectMemorySize = 512g' - это только верхний предел и с 64-битным JVM это никогда не проблема. Если вы используете 32-битную JVM, попробуйте установить ее на 2G – Lvca

Смежные вопросы