cancel
Showing results for 
Search instead for 
Did you mean: 

Failed to invoke procedure `db.index.fulltext.queryNodes`: Caused by: java.lang.IllegalStateException: Index `titlesAndDescriptions` entered a FAILED state

kangwachimba7
Node Clone

I am trying to use the full-text index provided by neo4j. I am using neo4j desktop community 4.4.5.

I was following the example here https://neo4j.com/docs/cypher-manual/current/indexes-for-full-text-search/#administration-indexes-fu...

I created the node using

CREATE (m:Movie {title: "The Matrix"}) RETURN m.title

and created the index using

CREATE FULLTEXT INDEX titlesAndDescriptions FOR (n:Movie|Book) ON EACH [n.title, n.description]

but when I call the procedure in neo4j browser using

CALL db.index.fulltext.queryNodes("titlesAndDescriptions", "matrix") YIELD node, score
RETURN node.title, node.description, score

I get this nasty error

Failed to invoke procedure db.index.fulltext.queryNodes: Caused by: java.lang.IllegalStateException: Index titlesAndDescriptions entered a FAILED state. Please see database logs.: Cause of failure:
==================
java.lang.IllegalStateException: Failed to create index populator.
at org.neo4j.kernel.api.impl.fulltext.FailedFulltextIndexPopulator.failedException(FailedFulltextIndexPopulator.java:70)
at org.neo4j.kernel.api.impl.fulltext.FailedFulltextIndexPopulator.add(FailedFulltextIndexPopulator.java:65)
at org.neo4j.kernel.impl.api.index.MultipleIndexPopulator$PropertyScanConsumerImpl.addFromScan(MultipleIndexPopulator.java:814)
at org.neo4j.kernel.impl.api.index.MultipleIndexPopulator$PropertyScanConsumerImpl$1.process(MultipleIndexPopulator.java:777)
at org.neo4j.kernel.impl.transaction.state.storeview.GenerateIndexUpdatesStep$GeneratedIndexUpdates.completeBatch(GenerateIndexUpdatesStep.java:214)
at org.neo4j.kernel.impl.transaction.state.storeview.GenerateIndexUpdatesStep.batchDone(GenerateIndexUpdatesStep.java:122)
at org.neo4j.kernel.impl.transaction.state.storeview.GenerateIndexUpdatesStep.process(GenerateIndexUpdatesStep.java:115)
at org.neo4j.kernel.impl.transaction.state.storeview.GenerateIndexUpdatesStep.process(GenerateIndexUpdatesStep.java:49)
at org.neo4j.internal.batchimport.staging.ProcessorStep.lambda$receive$1(ProcessorStep.java:84)
at org.neo4j.internal.batchimport.executor.DynamicTaskExecutor$Processor.run(DynamicTaskExecutor.java:220)
at org.neo4j.kernel.impl.scheduler.ThreadPool.lambda$asCallable$1(ThreadPool.java:151)
at org.neo4j.kernel.impl.scheduler.ThreadPool.lambda$submit$0(ThreadPool.java:115)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: java.lang.RuntimeException: Could not create fulltext analyzer: String("")
at org.neo4j.kernel.api.impl.fulltext.FulltextIndexSettings.createAnalyzer(FulltextIndexSettings.java:56)
at org.neo4j.kernel.api.impl.fulltext.FulltextIndexProvider.getPopulator(FulltextIndexProvider.java:251)
at org.neo4j.kernel.impl.api.index.IndexProxyCreator.populatorFromProvider(IndexProxyCreator.java:153)
at org.neo4j.kernel.impl.api.index.IndexProxyCreator.createPopulatingIndexProxy(IndexProxyCreator.java:67)
at org.neo4j.kernel.impl.api.index.IndexingService$IndexPopulationStarter.apply(IndexingService.java:924)
at org.neo4j.kernel.impl.api.index.IndexingService$IndexPopulationStarter.apply(IndexingService.java:891)
at org.neo4j.kernel.impl.api.index.IndexMapReference.modify(IndexMapReference.java:52)
at org.neo4j.kernel.impl.api.index.IndexingService.createIndexes(IndexingService.java:586)
at org.neo4j.kernel.impl.api.index.IndexingService.createIndexes(IndexingService.java:569)
at org.neo4j.internal.recordstorage.IndexTransactionApplierFactory$SingleTransactionApplier.close(IndexTransactionApplierFactory.java:88)
at org.neo4j.internal.recordstorage.TransactionApplierFacade.close(TransactionApplierFacade.java:48)
at org.neo4j.internal.recordstorage.RecordStorageEngine.apply(RecordStorageEngine.java:506)
at org.neo4j.kernel.impl.api.InternalTransactionCommitProcess.applyToStore(InternalTransactionCommitProcess.java:81)
at org.neo4j.kernel.impl.api.InternalTransactionCommitProcess.commit(InternalTransactionCommitProcess.java:53)
at org.neo4j.kernel.impl.api.DatabaseTransactionCommitProcess.commit(DatabaseTransactionCommitProcess.java:42)
at org.neo4j.kernel.impl.api.KernelTransactionImplementation.commitTransaction(KernelTransactionImplementation.java:880)
at org.neo4j.kernel.impl.api.KernelTransactionImplementation.closeTransaction(KernelTransactionImplementation.java:732)
at org.neo4j.kernel.impl.api.KernelTransactionImplementation.commit(KernelTransactionImplementation.java:703)
at org.neo4j.kernel.impl.coreapi.TransactionImpl.lambda$commit$0(TransactionImpl.java:179)
at org.neo4j.kernel.impl.coreapi.TransactionImpl.safeTerminalOperation(TransactionImpl.java:700)
at org.neo4j.kernel.impl.coreapi.TransactionImpl.commit(TransactionImpl.java:174)
at org.neo4j.kernel.impl.coreapi.TransactionImpl.commit(TransactionImpl.java:169)
at org.neo4j.fabric.executor.FabricKernelTransaction.commit(FabricKernelTransaction.java:137)
at org.neo4j.fabric.executor.FabricLocalExecutor$KernelTxWrapper.doCommit(FabricLocalExecutor.java:262)
at reactor.core.publisher.MonoRunnable.call(MonoRunnable.java:73)
at reactor.core.publisher.MonoRunnable.call(MonoRunnable.java:32)
at reactor.core.publisher.FluxFlatMap.trySubscribeScalarMap(FluxFlatMap.java:127)
at reactor.core.publisher.MonoFlatMap.subscribeOrReturn(MonoFlatMap.java:53)
at reactor.core.publisher.Mono.subscribe(Mono.java:4384)
at reactor.core.publisher.FluxFlatMap$FlatMapMain.onNext(FluxFlatMap.java:426)
at reactor.core.publisher.FluxConcatArray$ConcatArraySubscriber.onNext(FluxConcatArray.java:201)
at reactor.core.publisher.Operators$ScalarSubscription.request(Operators.java:2398)
at reactor.core.publisher.FluxConcatArray$ConcatArraySubscriber.onSubscribe(FluxConcatArray.java:193)
at reactor.core.publisher.MonoJust.subscribe(MonoJust.java:55)
at reactor.core.publisher.Mono.subscribe(Mono.java:4399)
at reactor.core.publisher.FluxConcatArray$ConcatArraySubscriber.onComplete(FluxConcatArray.java:258)
at reactor.core.publisher.FluxConcatArray.subscribe(FluxConcatArray.java:78)
at reactor.core.publisher.Mono.subscribe(Mono.java:4399)
at reactor.core.publisher.Mono.block(Mono.java:1705)
at org.neo4j.fabric.transaction.FabricTransactionImpl.doOnChildren(FabricTransactionImpl.java:286)
at org.neo4j.fabric.transaction.FabricTransactionImpl.commit(FabricTransactionImpl.java:197)
at org.neo4j.fabric.bolt.BoltFabricDatabaseService$BoltTransactionImpl.commit(BoltFabricDatabaseService.java:145)
at org.neo4j.bolt.runtime.statemachine.impl.TransactionStateMachine$State.closeTransaction(TransactionStateMachine.java:406)
at org.neo4j.bolt.runtime.statemachine.impl.TransactionStateMachine$State$2.commitTransaction(TransactionStateMachine.java:358)
at org.neo4j.bolt.runtime.statemachine.impl.TransactionStateMachine.commitTransaction(TransactionStateMachine.java:108)
at org.neo4j.bolt.transaction.StatementProcessorTxManager.commit(StatementProcessorTxManager.java:66)
at org.neo4j.bolt.v4.runtime.InTransactionState.processCommitMessage(InTransactionState.java:107)
at org.neo4j.bolt.v44.runtime.InTransactionState.processCommitMessage(InTransactionState.java:35)
at org.neo4j.bolt.v4.runtime.InTransactionState.processUnsafe(InTransactionState.java:56)
at org.neo4j.bolt.v3.runtime.FailSafeBoltStateMachineState.process(FailSafeBoltStateMachineState.java:48)
at org.neo4j.bolt.runtime.statemachine.impl.AbstractBoltStateMachine.nextState(AbstractBoltStateMachine.java:154)
at org.neo4j.bolt.runtime.statemachine.impl.AbstractBoltStateMachine.process(AbstractBoltStateMachine.java:102)
at org.neo4j.bolt.messaging.BoltRequestMessageReader.lambda$doRead$1(BoltRequestMessageReader.java:93)
at org.neo4j.bolt.runtime.DefaultBoltConnection.lambda$enqueue$0(DefaultBoltConnection.java:156)
at org.neo4j.bolt.runtime.DefaultBoltConnection.processNextBatchInternal(DefaultBoltConnection.java:252)
at org.neo4j.bolt.runtime.DefaultBoltConnection.processNextBatch(DefaultBoltConnection.java:187)
at org.neo4j.bolt.runtime.DefaultBoltConnection.processNextBatch(DefaultBoltConnection.java:177)
at org.neo4j.bolt.runtime.scheduling.ExecutorBoltScheduler.executeBatch(ExecutorBoltScheduler.java:257)
at org.neo4j.bolt.runtime.scheduling.ExecutorBoltScheduler.lambda$scheduleBatchOrHandleError$3(ExecutorBoltScheduler.java:240)
at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1700)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
... 1 more
Caused by: java.util.NoSuchElementException: Could not find service provider org.neo4j.graphdb.schema.AnalyzerProvider
at org.neo4j.service.Services.lambda$loadOrFail$3(Services.java:138)
at java.base/java.util.Optional.orElseThrow(Optional.java:408)
at org.neo4j.service.Services.loadOrFail(Services.java:138)
at org.neo4j.service.Services.loadOrFail(Services.java:127)
at org.neo4j.kernel.api.impl.fulltext.FulltextIndexSettings.createAnalyzer(FulltextIndexSettings.java:51)
... 63 more

==================

7 REPLIES 7

Cobra
Ninja
Ninja

Hello @kangwachimba7

I can't reproduce your error.

I think it's because the index was still being created. You should find more information in the log file of the database.

You can try dropping the index then recreating it then retesting your query.

Regards,
Cobra

tried that, when I call

SHOW FULLTEXT INDEXES

it is showing the state of the index as 'failed' what could that mean?

Cobra
Ninja
Ninja

I don't know because you must look at the log file of the database.

Can you try to delete the index then recreate it?

yes I have tried to delete and recreate it and retest it

I have attached an image of my query.log

Cobra
Ninja
Ninja

This screenshot doesn't show anything. Look in the debug.log file.

Can you to restart the database?

kangwachimba7
Node Clone

I have deleted the database and retried again it works
I remember I had placed this line

dbms.index.fulltext.default_analyzer

in the neo4j.conf file maybe that caused the problem just deleted the whole database and rebuilt another one

Cobra
Ninja
Ninja

Nice, all configuration parameters available for the neo4j.conf file are available here.

Nodes 2022
Nodes
NODES 2022, Neo4j Online Education Summit

On November 16 and 17 for 24 hours across all timezones, you’ll learn about best practices for beginners and experts alike.