У меня есть многотерабайтная база данных с OrientDB v2.2.37, со многими классами, которые имеют все 3 индекса: один уникальный индекс (индекс OrientDB) и два неуникальных индекса Lucene. Я уже выяснил (трудный путь, нигде не задокументированный), что версия Lucene в комплекте с OrientDB v2. * Не совместима с Lucene, который связан с OrientDB v3
Так что пока сервер работает с v2.2.37, Я отбросил все индексы Lucene. Затем запустите сервер с v3.0.26 и попробуйте создать новый индекс Lucene для каждого класса, но это не получается:
com.orientechnologies.orient.core.exception.OStorageException: Cannot put key value entry in index
DB name="cdrarch"
at com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.doCallIndexEngine(OAbstractPaginatedStorage.java:2731)
at com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.callIndexEngine(OAbstractPaginatedStorage.java:2699)
at com.orientechnologies.lucene.index.OLuceneIndexNotUnique.getSize(OLuceneIndexNotUnique.java:327)
at com.orientechnologies.orient.core.index.OIndexRebuildOutputListener.onCompletition(OIndexRebuildOutputListener.java:77)
at com.orientechnologies.orient.core.index.OIndexAbstract.fillIndex(OIndexAbstract.java:500)
at com.orientechnologies.orient.core.index.OIndexAbstract.create(OIndexAbstract.java:226)
at com.orientechnologies.lucene.index.OLuceneIndexNotUnique.create(OLuceneIndexNotUnique.java:254)
at com.orientechnologies.lucene.index.OLuceneIndexNotUnique.create(OLuceneIndexNotUnique.java:52)
at com.orientechnologies.orient.core.index.OIndexManagerShared.createIndex(OIndexManagerShared.java:165)
at com.orientechnologies.orient.core.index.OIndexManagerProxy.createIndex(OIndexManagerProxy.java:90)
at com.orientechnologies.orient.core.metadata.schema.OClassImpl.createIndex(OClassImpl.java:1164)
at com.orientechnologies.orient.core.sql.parser.OCreateIndexStatement.getoIndex(OCreateIndexStatement.java:133)
at com.orientechnologies.orient.core.sql.parser.OCreateIndexStatement.execute(OCreateIndexStatement.java:119)
at com.orientechnologies.orient.core.sql.parser.OCreateIndexStatement.executeDDL(OCreateIndexStatement.java:54)
at com.orientechnologies.orient.core.sql.executor.ODDLExecutionPlan.executeInternal(ODDLExecutionPlan.java:55)
at com.orientechnologies.orient.core.sql.parser.ODDLStatement.execute(ODDLStatement.java:42)
at com.orientechnologies.orient.core.sql.parser.OStatement.execute(OStatement.java:79)
at com.orientechnologies.orient.core.db.document.ODatabaseDocumentEmbedded.command(ODatabaseDocumentEmbedded.java:567)
at com.orientechnologies.orient.server.OConnectionBinaryExecutor.executeQuery(OConnectionBinaryExecutor.java:1293)
at com.orientechnologies.orient.client.remote.message.OQueryRequest.execute(OQueryRequest.java:136)
at com.orientechnologies.orient.server.network.protocol.binary.ONetworkProtocolBinary.sessionRequest(ONetworkProtocolBinary.java:310)
at com.orientechnologies.orient.server.network.protocol.binary.ONetworkProtocolBinary.execute(ONetworkProtocolBinary.java:212)
at com.orientechnologies.common.thread.OSoftThread.run(OSoftThread.java:69)
Caused by: java.lang.NullPointerException
at org.apache.lucene.index.IndexWriter.<init>(IndexWriter.java:948)
at com.orientechnologies.lucene.engine.OLuceneIndexWriterFactory.createIndexWriter(OLuceneIndexWriterFactory.java:22)
at com.orientechnologies.lucene.engine.OLuceneFullTextIndexEngine.createIndexWriter(OLuceneFullTextIndexEngine.java:87)
at com.orientechnologies.lucene.engine.OLuceneIndexEngineAbstract.open(OLuceneIndexEngineAbstract.java:230)
at com.orientechnologies.lucene.engine.OLuceneIndexEngineAbstract.reOpen(OLuceneIndexEngineAbstract.java:209)
at com.orientechnologies.lucene.engine.OLuceneIndexEngineAbstract.openIfClosed(OLuceneIndexEngineAbstract.java:431)
at com.orientechnologies.lucene.engine.OLuceneIndexEngineAbstract.sizeInTx(OLuceneIndexEngineAbstract.java:461)
at com.orientechnologies.lucene.index.OLuceneIndexNotUnique$1.callEngine(OLuceneIndexNotUnique.java:333)
at com.orientechnologies.lucene.index.OLuceneIndexNotUnique$1.callEngine(OLuceneIndexNotUnique.java:327)
at com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.doCallIndexEngine(OAbstractPaginatedStorage.java:2728)
... 22 more
Exception `47B9326D` in storage `plocal:/opt/orientdb/databases/cdrarch`: 3.0.26 - Veloce (build 39bd95d70410374ab1cf6770ef2feca26145b04f, branch 3.0.x)
com.orientechnologies.orient.core.exception.OStorageException: Cannot put key value entry in index
DB name="cdrarch"
at com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.doCallIndexEngine(OAbstractPaginatedStorage.java:2731)
at com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.callIndexEngine(OAbstractPaginatedStorage.java:2699)
at com.orientechnologies.lucene.index.OLuceneIndexNotUnique.getSize(OLuceneIndexNotUnique.java:327)
at com.orientechnologies.orient.core.index.OIndexRebuildOutputListener.onCompletition(OIndexRebuildOutputListener.java:77)
at com.orientechnologies.orient.core.index.OIndexAbstract.fillIndex(OIndexAbstract.java:503)
at com.orientechnologies.orient.core.index.OIndexAbstract.create(OIndexAbstract.java:226)
at com.orientechnologies.lucene.index.OLuceneIndexNotUnique.create(OLuceneIndexNotUnique.java:254)
at com.orientechnologies.lucene.index.OLuceneIndexNotUnique.create(OLuceneIndexNotUnique.java:52)
at com.orientechnologies.orient.core.index.OIndexManagerShared.createIndex(OIndexManagerShared.java:165)
at com.orientechnologies.orient.core.index.OIndexManagerProxy.createIndex(OIndexManagerProxy.java:90)
at com.orientechnologies.orient.core.metadata.schema.OClassImpl.createIndex(OClassImpl.java:1164)
at com.orientechnologies.orient.core.sql.parser.OCreateIndexStatement.getoIndex(OCreateIndexStatement.java:133)
at com.orientechnologies.orient.core.sql.parser.OCreateIndexStatement.execute(OCreateIndexStatement.java:119)
at com.orientechnologies.orient.core.sql.parser.OCreateIndexStatement.executeDDL(OCreateIndexStatement.java:54)
at com.orientechnologies.orient.core.sql.executor.ODDLExecutionPlan.executeInternal(ODDLExecutionPlan.java:55)
at com.orientechnologies.orient.core.sql.parser.ODDLStatement.execute(ODDLStatement.java:42)
at com.orientechnologies.orient.core.sql.parser.OStatement.execute(OStatement.java:79)
at com.orientechnologies.orient.core.db.document.ODatabaseDocumentEmbedded.command(ODatabaseDocumentEmbedded.java:567)
at com.orientechnologies.orient.server.OConnectionBinaryExecutor.executeQuery(OConnectionBinaryExecutor.java:1293)
at com.orientechnologies.orient.client.remote.message.OQueryRequest.execute(OQueryRequest.java:136)
at com.orientechnologies.orient.server.network.protocol.binary.ONetworkProtocolBinary.sessionRequest(ONetworkProtocolBinary.java:310)
at com.orientechnologies.orient.server.network.protocol.binary.ONetworkProtocolBinary.execute(ONetworkProtocolBinary.java:212)
at com.orientechnologies.common.thread.OSoftThread.run(OSoftThread.java:69)
Caused by: java.lang.NullPointerException
at org.apache.lucene.index.IndexWriter.<init>(IndexWriter.java:948)
at com.orientechnologies.lucene.engine.OLuceneIndexWriterFactory.createIndexWriter(OLuceneIndexWriterFactory.java:22)
at com.orientechnologies.lucene.engine.OLuceneFullTextIndexEngine.createIndexWriter(OLuceneFullTextIndexEngine.java:87)
at com.orientechnologies.lucene.engine.OLuceneIndexEngineAbstract.open(OLuceneIndexEngineAbstract.java:230)
at com.orientechnologies.lucene.engine.OLuceneIndexEngineAbstract.reOpen(OLuceneIndexEngineAbstract.java:209)
at com.orientechnologies.lucene.engine.OLuceneIndexEngineAbstract.openIfClosed(OLuceneIndexEngineAbstract.java:431)
at com.orientechnologies.lucene.engine.OLuceneIndexEngineAbstract.sizeInTx(OLuceneIndexEngineAbstract.java:461)
at com.orientechnologies.lucene.index.OLuceneIndexNotUnique$1.callEngine(OLuceneIndexNotUnique.java:333)
at com.orientechnologies.lucene.index.OLuceneIndexNotUnique$1.callEngine(OLuceneIndexNotUnique.java:327)
at com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.doCallIndexEngine(OAbstractPaginatedStorage.java:2728)
... 22 more
$ANSI{green {db=cdrarch}} Exception during index 'idx_cdr_af_20191229_1' creation
Кто-нибудь уже успел обновить OrientDB с v2 до v3, включив индексы Lucene?
Заранее благодарим за любые подсказки!