graphaware / neo4j-to-elasticsearch

GraphAware Framework Module for Integrating Neo4j with Elasticsearch
261 stars 57 forks source link

Failed to invoke procedure `ga.es.nodeMapping`: Caused by: java.lang.RuntimeException: No fitting Key-to-ID resolver found #113

Closed neurofoo closed 3 years ago

neurofoo commented 6 years ago

Setup: Running Neo4j causal cluster (v.3.3.5) in GKE Running ES cluster in GKE (see below for info on ES) GKE: 1.9.7-gke.0

ES info:

{
  "name" : "es-client-76dc8cd5cd-f8rm9",
  "cluster_name" : "myesdb",
  "cluster_uuid" : "beHuXQGqRpu0riqHVepvSA",
  "version" : {
    "number" : "6.2.3",
    "build_hash" : "c59ff00",
    "build_date" : "2018-03-13T10:06:29.741383Z",
    "build_snapshot" : false,
    "lucene_version" : "7.2.1",
    "minimum_wire_compatibility_version" : "5.6.0",
    "minimum_index_compatibility_version" : "5.0.0"
  },
  "tagline" : "You Know, for Search"
}

Getting the following error in neo4j browser:

Neo.ClientError.Procedure.ProcedureCallFailed: Failed to invoke procedure `ga.es.nodeMapping`: Caused by: java.lang.RuntimeException: No fitting Key-to-ID resolver found

Same basic error (No fitting Key-to-ID) comes from running any of the following:

call ga.es.nodeMapping() yield json as results return results;
CALL ga.es.info() YIELD json as info return info
CALL ga.es.queryNode('{\"query\":{\"match\":{\"name\":\"Known Name\"}}}') YIELD node, score RETURN node, score;

Associated error message from logs:

2018-05-07 21:32:52.655+0000 ERROR  No fitting Key-to-ID resolver found
java.lang.RuntimeException: No fitting Key-to-ID resolver found
    at com.graphaware.module.es.search.resolver.ResolverFactory.createResolver(ResolverFactory.java:36)
    at com.graphaware.module.es.search.Searcher.<init>(Searcher.java:69)
    at com.graphaware.module.es.proc.ElasticSearchProcedures.getSearcher(ElasticSearchProcedures.java:55)
    at com.graphaware.module.es.proc.ElasticSearchProcedures.queryNode(ElasticSearchProcedures.java:63)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.neo4j.kernel.impl.proc.ReflectiveProcedureCompiler$ReflectiveProcedure.apply(ReflectiveProcedureCompiler.java:596)
    at org.neo4j.kernel.impl.proc.ProcedureRegistry.callProcedure(ProcedureRegistry.java:202)
    at org.neo4j.kernel.impl.proc.Procedures.callProcedure(Procedures.java:257)
    at org.neo4j.kernel.impl.api.OperationsFacade.callProcedure(OperationsFacade.java:1440)
    at org.neo4j.kernel.impl.api.OperationsFacade.procedureCallWrite(OperationsFacade.java:1394)
    at org.neo4j.cypher.internal.spi.v3_3.TransactionBoundQueryContext$$anonfun$20.apply(TransactionBoundQueryContext.scala:706)
    at org.neo4j.cypher.internal.spi.v3_3.TransactionBoundQueryContext$$anonfun$20.apply(TransactionBoundQueryContext.scala:706)
    at org.neo4j.cypher.internal.spi.v3_3.TransactionBoundQueryContext.callProcedure(TransactionBoundQueryContext.scala:729)
    at org.neo4j.cypher.internal.spi.v3_3.TransactionBoundQueryContext.callReadWriteProcedure(TransactionBoundQueryContext.scala:707)
    at org.neo4j.cypher.internal.compatibility.v3_3.ExceptionTranslatingQueryContext$$anonfun$callReadWriteProcedure$1.apply(ExceptionTranslatingQueryContext.scala:153)
    at org.neo4j.cypher.internal.compatibility.v3_3.ExceptionTranslatingQueryContext$$anonfun$callReadWriteProcedure$1.apply(ExceptionTranslatingQueryContext.scala:153)
    at org.neo4j.cypher.internal.spi.v3_3.ExceptionTranslationSupport$class.translateException(ExceptionTranslationSupport.scala:32)
    at org.neo4j.cypher.internal.compatibility.v3_3.ExceptionTranslatingQueryContext.translateException(ExceptionTranslatingQueryContext.scala:39)
    at org.neo4j.cypher.internal.spi.v3_3.ExceptionTranslationSupport$class.translateIterator(ExceptionTranslationSupport.scala:46)
    at org.neo4j.cypher.internal.compatibility.v3_3.ExceptionTranslatingQueryContext.translateIterator(ExceptionTranslatingQueryContext.scala:39)
    at org.neo4j.cypher.internal.compatibility.v3_3.ExceptionTranslatingQueryContext.callReadWriteProcedure(ExceptionTranslatingQueryContext.scala:153)
    at org.neo4j.cypher.internal.spi.v3_3.DelegatingQueryContext.callReadWriteProcedure(DelegatingQueryContext.scala:217)
    at org.neo4j.cypher.internal.compatibility.v3_3.runtime.executionplan.EagerReadWriteCallMode.callProcedure(ProcedureCallMode.scala:55)
    at org.neo4j.cypher.internal.compatibility.v3_3.runtime.pipes.ProcedureCallPipe$$anon$$$$ad93371f26992c1f243949f3f9c28e5$$$$ateResultsByAppending$1.apply(ProcedureCallPipe.scala:68)
    at org.neo4j.cypher.internal.compatibility.v3_3.runtime.pipes.ProcedureCallPipe$$anon$$$$ad93371f26992c1f243949f3f9c28e5$$$$ateResultsByAppending$1.apply(ProcedureCallPipe.scala:66)
    at scala.collection.Iterator$$anon$12.nextCur(Iterator.scala:435)
    at scala.collection.Iterator$$anon$12.hasNext(Iterator.scala:441)
    at scala.collection.Iterator$$anon$11.hasNext(Iterator.scala:409)
    at org.neo4j.cypher.internal.compatibility.v3_3.runtime.ClosingIterator.hasNext(ResultIterator.scala:58)
    at scala.collection.Iterator$class.foreach(Iterator.scala:891)
    at org.neo4j.cypher.internal.compatibility.v3_3.runtime.ClosingIterator.foreach(ResultIterator.scala:46)
    at scala.collection.generic.Growable$class.$plus$plus$eq(Growable.scala:59)
    at scala.collection.mutable.ListBuffer.$plus$plus$eq(ListBuffer.scala:183)
    at scala.collection.mutable.ListBuffer.$plus$plus$eq(ListBuffer.scala:45)
    at scala.collection.TraversableOnce$class.to(TraversableOnce.scala:310)
    at org.neo4j.cypher.internal.compatibility.v3_3.runtime.ClosingIterator.to(ResultIterator.scala:46)
    at scala.collection.TraversableOnce$class.toList(TraversableOnce.scala:294)
    at org.neo4j.cypher.internal.compatibility.v3_3.runtime.ClosingIterator.toList(ResultIterator.scala:46)
    at org.neo4j.cypher.internal.compatibility.v3_3.runtime.EagerResultIterator.<init>(ResultIterator.scala:32)
    at org.neo4j.cypher.internal.compatibility.v3_3.runtime.ClosingIterator.toEager(ResultIterator.scala:50)
    at org.neo4j.cypher.internal.compatibility.v3_3.runtime.executionplan.DefaultExecutionResultBuilderFactory$ExecutionWorkflowBuilder.buildResultIterator(DefaultExecutionResultBuilderFactory.scala:120)
    at org.neo4j.cypher.internal.compatibility.v3_3.runtime.executionplan.DefaultExecutionResultBuilderFactory$ExecutionWorkflowBuilder.createResults(DefaultExecutionResultBuilderFactory.scala:103)
    at org.neo4j.cypher.internal.compatibility.v3_3.runtime.executionplan.DefaultExecutionResultBuilderFactory$ExecutionWorkflowBuilder.build(DefaultExecutionResultBuilderFactory.scala:74)
    at org.neo4j.cypher.internal.compatibility.v3_3.runtime.BuildInterpretedExecutionPlan$$anonfun$getExecutionPlanFunction$1.apply(BuildInterpretedExecutionPlan.scala:100)
    at org.neo4j.cypher.internal.compatibility.v3_3.runtime.BuildInterpretedExecutionPlan$$anonfun$getExecutionPlanFunction$1.apply(BuildInterpretedExecutionPlan.scala:83)
    at org.neo4j.cypher.internal.compatibility.v3_3.runtime.BuildInterpretedExecutionPlan$InterpretedExecutionPlan.run(BuildInterpretedExecutionPlan.scala:116)
    at org.neo4j.cypher.internal.compatibility.v3_3.Compatibility$ExecutionPlanWrapper$$anonfun$run$1.apply(Compatibility.scala:183)
    at org.neo4j.cypher.internal.compatibility.v3_3.Compatibility$ExecutionPlanWrapper$$anonfun$run$1.apply(Compatibility.scala:179)
    at org.neo4j.cypher.internal.compatibility.v3_3.exceptionHandler$runSafely$.apply(exceptionHandler.scala:90)
    at org.neo4j.cypher.internal.compatibility.v3_3.Compatibility$ExecutionPlanWrapper.run(Compatibility.scala:179)
    at org.neo4j.cypher.internal.PreparedPlanExecution.execute(PreparedPlanExecution.scala:29)
    at org.neo4j.cypher.internal.ExecutionEngine.execute(ExecutionEngine.scala:120)
    at org.neo4j.cypher.internal.javacompat.ExecutionEngine.executeQuery(ExecutionEngine.java:62)
    at org.neo4j.bolt.v1.runtime.TransactionStateMachineSPI$1.start(TransactionStateMachineSPI.java:146)
    at org.neo4j.bolt.v1.runtime.TransactionStateMachine$State$1.run(TransactionStateMachine.java:247)
    at org.neo4j.bolt.v1.runtime.TransactionStateMachine.run(TransactionStateMachine.java:82)
    at org.neo4j.bolt.v1.runtime.BoltStateMachine$State$2.run(BoltStateMachine.java:408)
    at org.neo4j.bolt.v1.runtime.BoltStateMachine.run(BoltStateMachine.java:200)
    at org.neo4j.bolt.v1.messaging.BoltMessageRouter.lambda$onRun$3(BoltMessageRouter.java:93)
    at org.neo4j.bolt.v1.runtime.concurrent.RunnableBoltWorker.execute(RunnableBoltWorker.java:152)
    at org.neo4j.bolt.v1.runtime.concurrent.RunnableBoltWorker.run(RunnableBoltWorker.java:104)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)
    at org.neo4j.helpers.NamedThreadFactory$2.run(NamedThreadFactory.java:109)

Initialization worked and I can see nodes in ES.

call ga.es.initialized()

Returns true

Nodes are sent to ES:

curl -X GET "localhost:9200/_cat/indices?v"
health status index            uuid                   pri rep docs.count docs.deleted store.size pri.store.size
green  open   neo4j-index-node hhRTZsJvQSC3b0lRkcUCeQ   5   1        268            0    398.1kb          199kb

neo4.conf parts

com.graphaware.runtime.enabled=true
org.neo4j.server.thirdparty_jaxrs_classes=com.graphaware.server=/graphaware
com.graphaware.module.UIDM.1=com.graphaware.module.uuid.UuidBootstrapper
com.graphaware.module.UIDM.uuidProperty=uuid
com.graphaware.module.UIDM.node=hasLabel('UIDM')
com.graphaware.module.UIDM.uuidIndex=uuidIndex
com.graphaware.module.ES.2=com.graphaware.module.es.ElasticSearchModuleBootstrapper
com.graphaware.module.ES.uri=elasticsearch.default.svc.cluster.local
com.graphaware.module.ES.port=9200
com.graphaware.module.ES.index=neo4j-index
com.graphaware.module.ES.keyProperty=id
com.graphaware.module.ES.bulk=true
com.graphaware.module.ES.initializeUntil=9223372036854775807
com.graphaware.module.ES.mapping=com.graphaware.module.es.mapping.JsonFileMapping
com.graphaware.module.ES.file=mapping.json

mapping.json

{
  "defaults": {
    "key_property": "id",
    "nodes_index": "neo4j-index-node",
    "relationships_index": "neo4j-index-relationship",
    "include_remaining_properties": false,
    "blacklisted_node_properties": ["password","pass","hash","avatar"]
  },
  "node_mappings": [
    {
      "condition": "hasLabel('Project')",
      "type": "project",
      "properties": {
        "name": "getProperty('name')",
        "desc": "getProperty('desc')",
        "labels": "getLabels()"
      }
    },
    {
      "condition": "hasLabel('Lab')",
      "type": "lab",
      "properties": {
        "name": "getProperty('name')",
        "desc": "getProperty('desc')",
        "labels": "getLabels()"
      }
    }
  ]
}
neurofoo commented 6 years ago

Additional log info from startup:

2018-05-07 21:26:36.018+0000 INFO [c.g.r.b.RuntimeKernelExtension] GraphAware Runtime enabled, bootstrapping...
2018-05-07 21:26:36.117+0000 INFO [c.g.r.b.RuntimeKernelExtension] Bootstrapping module with order 1, ID UIDM, using com.graphaware.module.uuid.UuidBootstrapper
2018-05-07 21:26:36.223+0000 INFO  Node Inclusion Policy set to com.graphaware.common.policy.inclusion.composite.CompositeNodeInclusionPolicy@f10be5f
2018-05-07 21:26:36.223+0000 INFO  uuidProperty set to uuid
2018-05-07 21:26:36.223+0000 INFO  uuidIndex set to uuidIndex
2018-05-07 21:26:36.231+0000 INFO  Registering module UIDM with GraphAware Runtime.
2018-05-07 21:26:36.231+0000 INFO [c.g.r.b.RuntimeKernelExtension] Bootstrapping module with order 2, ID ES, using com.graphaware.module.es.ElasticSearchModuleBootstrapper
2018-05-07 21:26:36.239+0000 INFO  ElasticSearch index-prefix set to neo4j-index
2018-05-07 21:26:36.239+0000 INFO  ElasticSearch key-property set to uuid
2018-05-07 21:26:36.239+0000 INFO  ElasticSearch force-strings set to false
2018-05-07 21:26:36.240+0000 INFO  ES (re-)initialize until set to ALWAYS
2018-05-07 21:26:36.240+0000 INFO  Elasticsearch URI set to elasticsearch.default.svc.cluster.local
2018-05-07 21:26:36.240+0000 ERROR Elasticsearch protocol set to default protocol http
2018-05-07 21:26:36.240+0000 INFO  Elasticsearch port set to 9200
2018-05-07 21:26:36.240+0000 INFO  Elasticsearch key property set to id
2018-05-07 21:26:36.240+0000 INFO  Elasticsearch bulk execution set to true
2018-05-07 21:26:36.507+0000 INFO  Elasticsearch mapping configured with class com.graphaware.module.es.mapping.JsonFileMapping
2018-05-07 21:26:36.522+0000 INFO  Registering module ES with GraphAware Runtime.
2018-05-07 21:26:36.523+0000 INFO [c.g.r.b.RuntimeKernelExtension] GraphAware Runtime bootstrapped, starting the Runtime...
2018-05-07 21:26:43.007+0000 INFO  Starting GraphAware...
2018-05-07 21:26:43.010+0000 INFO  Loading module metadata...
2018-05-07 21:26:43.011+0000 INFO  Loading metadata for module UIDM
2018-05-07 21:26:43.064+0000 INFO  Module UIDM seems to have been registered for the first time.
2018-05-07 21:26:43.065+0000 INFO  Module UIDM seems to have been registered for the first time, will try to initialize...
2018-05-07 21:26:43.065+0000 INFO  InitializeUntil set to 9223372036854775807 and it is 1525728403065. Will initialize.
2018-05-07 21:26:43.429+0000 INFO  Creating fresh metadata for module UIDM.
2018-05-07 21:26:43.429+0000 INFO  Module UIDM has not changed configuration since last run, already initialized.
2018-05-07 21:26:43.617+0000 INFO  beforeCommit took 37 millsi
2018-05-07 21:26:43.683+0000 INFO  afterCommit took 0 millsi
2018-05-07 21:26:43.684+0000 INFO  Loading metadata for module ES
2018-05-07 21:26:43.686+0000 INFO  Module ES seems to have been registered for the first time.
2018-05-07 21:26:43.686+0000 INFO  Module ES seems to have been registered for the first time, will try to initialize...
2018-05-07 21:26:43.686+0000 INFO  InitializeUntil set to 9223372036854775807 and it is 1525728403686. Will initialize.
2018-05-07 21:26:43.687+0000 INFO  InitializeUntil set to 9223372036854775807 and it is 1525728403687. Will index the entire database...
2018-05-07 21:26:43.687+0000 INFO  Creating fresh metadata for module ES.
2018-05-07 21:26:43.687+0000 INFO  Module ES has not changed configuration since last run, already initialized.
2018-05-07 21:26:43.745+0000 INFO  beforeCommit took 0 millsi
2018-05-07 21:26:43.760+0000 INFO  afterCommit took 0 millsi
2018-05-07 21:26:43.764+0000 INFO  Module metadata loaded.
2018-05-07 21:26:43.765+0000 INFO  Starting transaction-driven modules...
2018-05-07 21:26:43.766+0000 INFO  Starting Elasticsearch Writer...
2018-05-07 21:26:43.773+0000 INFO  Creating Jest Client...
2018-05-07 21:26:43.834+0000 INFO  Created Jest Client.
2018-05-07 21:26:43.845+0000 INFO  Started Elasticsearch Writer.
2018-05-07 21:26:43.850+0000 INFO  Re-indexing nodes...
2018-05-07 21:26:45.664+0000 WARN  Failed to execute bulk action against ElasticSearch. Details: One or more of the items in the Bulk request failed, check BulkResult.getItems() for more information.
2018-05-07 21:26:45.665+0000 WARN  There were 638 failures in replicating to Elasticsearch. These updates got lost.
2018-05-07 21:26:45.665+0000 INFO  Skipping relationships indexation.
2018-05-07 21:26:45.666+0000 INFO  Finished re-indexing database.
2018-05-07 21:26:45.666+0000 INFO  Transaction-driven modules started.
2018-05-07 21:26:45.666+0000 INFO  There are no timer-driven runtime modules. Not scheduling any tasks.
2018-05-07 21:26:45.666+0000 INFO  GraphAware started.
2018-05-07 21:26:45.667+0000 INFO [c.g.r.b.RuntimeKernelExtension] GraphAware Runtime automatically started.
ikwattro commented 6 years ago

@davidrapin Can you have a look please ? Thx

neurofoo commented 6 years ago

forgot to include the modules' versions.

davidrapin commented 6 years ago

The issue is with the configuration:

ikwattro commented 6 years ago

Moreover, you use the JsonFileMapper, which doesnt support using internal Neo4j ids, so best to change to uuid, in your configuration and in your mapping.json file

neurofoo commented 6 years ago

@davidrapin thanks for the quick reply.

I use apoc to create uuids in my graph and set those values to Node.id. I want those values to be the keys.

I'm playing with GA's uuid and only want GA to set uuids on Nodes that I've labeled as UIDM.

Is my configuration correct for this use case?

ikwattro commented 6 years ago

@neurofoo Your configuration is correct for this, but you seem to have some inconsitencies in your configuration :

The UUID module will set UUIDs on the uuid property

com.graphaware.module.UIDM.uuidProperty=uuid

But you want to use the id property as documentId for Elasticsearch :

com.graphaware.module.ES.keyProperty=id

Same here :

 "key_property": "id",
neurofoo commented 6 years ago

@ikwattro so, i should change the UUID property to:

com.graphaware.module.UIDM.uuidProperty=id

?

ikwattro commented 6 years ago

On what property are you setting the uuids with APOC ?

neurofoo commented 6 years ago

id

CREATE (n:SomeNode {id: apoc.create.uuid()}); 
ikwattro commented 6 years ago

Ok, then change to :

com.graphaware.module.UIDM.uuidProperty=id
neurofoo commented 6 years ago

okay. will do, test, and report back. thanks

on a separate note, is it possible to use the GA Neo4j->ES without the UUID module? The document seems to imply that it is, but I had issues without using the UUID.

ikwattro commented 6 years ago

It is possible, if you can detail what issues you had it would be nice.

neurofoo commented 6 years ago

Made the switch and still get errors for 2/3 of the aforementioned procedure calls.

Boot logs

2018-05-08 13:31:53.782+0000 INFO [c.g.r.b.RuntimeKernelExtension] Bootstrapping module with order 1, ID UIDM, using com.graphaware.module.uuid.UuidBootstrapper
2018-05-08 13:31:53.908+0000 INFO  Node Inclusion Policy set to com.graphaware.common.policy.inclusion.composite.CompositeNodeInclusionPolicy@f10be5f
2018-05-08 13:31:53.908+0000 INFO  uuidProperty set to id
2018-05-08 13:31:53.908+0000 INFO  uuidIndex set to uuidIndex
2018-05-08 13:31:53.916+0000 INFO  Registering module UIDM with GraphAware Runtime.
2018-05-08 13:31:53.916+0000 INFO [c.g.r.b.RuntimeKernelExtension] Bootstrapping module with order 2, ID ES, using com.graphaware.module.es.ElasticSearchModuleBootstrapper
2018-05-08 13:31:53.923+0000 INFO  ElasticSearch index-prefix set to neo4j-index
2018-05-08 13:31:53.924+0000 INFO  ElasticSearch key-property set to uuid
2018-05-08 13:31:53.924+0000 INFO  ElasticSearch force-strings set to false
2018-05-08 13:31:53.924+0000 INFO  ES (re-)initialize until set to ALWAYS
2018-05-08 13:31:53.924+0000 INFO  Elasticsearch URI set to elasticsearch.default.svc.cluster.local
2018-05-08 13:31:53.924+0000 ERROR Elasticsearch protocol set to default protocol http
2018-05-08 13:31:53.925+0000 INFO  Elasticsearch port set to 9200
2018-05-08 13:31:53.925+0000 INFO  Elasticsearch key property set to id
2018-05-08 13:31:53.925+0000 INFO  Elasticsearch bulk execution set to true
2018-05-08 13:31:54.182+0000 INFO  Elasticsearch mapping configured with class com.graphaware.module.es.mapping.JsonFileMapping
2018-05-08 13:31:54.197+0000 INFO  Registering module ES with GraphAware Runtime.
2018-05-08 13:31:54.198+0000 INFO [c.g.r.b.RuntimeKernelExtension] GraphAware Runtime bootstrapped, starting the Runtime...
2018-05-08 13:32:00.559+0000 INFO  Starting GraphAware...
2018-05-08 13:32:00.561+0000 INFO  Loading module metadata...
2018-05-08 13:32:00.561+0000 INFO  Loading metadata for module UIDM
2018-05-08 13:32:00.641+0000 INFO  Module UIDM seems to have been registered for the first time.
2018-05-08 13:32:00.642+0000 INFO  Module UIDM seems to have been registered for the first time, will try to initialize...
2018-05-08 13:32:00.642+0000 INFO  InitializeUntil set to 9223372036854775807 and it is 1525786320642. Will initialize.
2018-05-08 13:32:01.055+0000 INFO  Creating fresh metadata for module UIDM.
2018-05-08 13:32:01.055+0000 INFO  Module UIDM has not changed configuration since last run, already initialized.
2018-05-08 13:32:01.272+0000 INFO  beforeCommit took 19 millsi
2018-05-08 13:32:01.365+0000 INFO  afterCommit took 0 millsi
2018-05-08 13:32:01.366+0000 INFO  Loading metadata for module ES
2018-05-08 13:32:01.367+0000 INFO  Module ES seems to have been registered for the first time.
2018-05-08 13:32:01.367+0000 INFO  Module ES seems to have been registered for the first time, will try to initialize...
2018-05-08 13:32:01.367+0000 INFO  InitializeUntil set to 9223372036854775807 and it is 1525786321367. Will initialize.
2018-05-08 13:32:01.367+0000 INFO  InitializeUntil set to 9223372036854775807 and it is 1525786321367. Will index the entire database...
2018-05-08 13:32:01.368+0000 INFO  Creating fresh metadata for module ES.
2018-05-08 13:32:01.368+0000 INFO  Module ES has not changed configuration since last run, already initialized.
2018-05-08 13:32:01.425+0000 INFO  beforeCommit took 0 millsi
2018-05-08 13:32:01.442+0000 INFO  afterCommit took 0 millsi
2018-05-08 13:32:01.446+0000 INFO  Module metadata loaded.
2018-05-08 13:32:01.447+0000 INFO  Starting transaction-driven modules...
2018-05-08 13:32:01.447+0000 INFO  Starting Elasticsearch Writer...
2018-05-08 13:32:01.450+0000 INFO  Creating Jest Client...
2018-05-08 13:32:01.484+0000 INFO  Created Jest Client.
2018-05-08 13:32:01.514+0000 INFO  Started Elasticsearch Writer.
2018-05-08 13:32:01.516+0000 INFO  Re-indexing nodes...
2018-05-08 13:32:03.307+0000 WARN  Failed to execute bulk action against ElasticSearch. Details: One or more of the items in the Bulk request failed, check BulkResult.getItems() for more information.
2018-05-08 13:32:03.308+0000 WARN  There were 638 failures in replicating to Elasticsearch. These updates got lost.
2018-05-08 13:32:03.308+0000 INFO  Skipping relationships indexation.
2018-05-08 13:32:03.309+0000 INFO  Finished re-indexing database.
2018-05-08 13:32:03.309+0000 INFO  Transaction-driven modules started.
2018-05-08 13:32:03.309+0000 INFO  There are no timer-driven runtime modules. Not scheduling any tasks.
2018-05-08 13:32:03.309+0000 INFO  GraphAware started.
2018-05-08 13:32:03.310+0000 INFO [c.g.r.b.RuntimeKernelExtension] GraphAware Runtime automatically started.
2018-05-08 13:32:04.594+0000 INFO  Started.
2018-05-08 13:32:04.786+0000 INFO  Mounted REST API at: /db/manage
2018-05-08 13:32:05.933+0000 INFO  Remote interface available at http://neo4j-core-0.neo4j.default.svc.cluster.local:7474/
2018-05-08 13:32:54.660+0000 INFO  Creating Jest Client...
2018-05-08 13:32:54.668+0000 INFO  Created Jest Client.
2018-05-08 13:33:04.474+0000 INFO  Creating Jest Client...
2018-05-08 13:33:04.480+0000 INFO  Created Jest Client.
CALL ga.es.info() YIELD json as info return info

Now returns,

"{ "name" : "es-client-76dc8cd5cd-h6gbm", "cluster_name" : "myesdb", "cluster_uuid" : "beHuXQGqRpu0riqHVepvSA", "version" : { "number" : "6.2.3", "build_hash" : "c59ff00", "build_date" : "2018-03-13T10:06:29.741383Z", "build_snapshot" : false, "lucene_version" : "7.2.1", "minimum_wire_compatibility_version" : "5.6.0", "minimum_index_compatibility_version" : "5.0.0" }, "tagline" : "You Know, for Search" } "

Procedures call:

call ga.es.nodeMapping() yield json

Return the following in the Neo4j browser:

Neo.ClientError.Procedure.ProcedureCallFailed: Failed to invoke procedure `ga.es.nodeMapping`: Caused by: java.lang.NullPointerException

No associated error logs. I do see the following generate when I run the above procedure:

2018-05-08 13:54:13.282+0000 INFO  Creating Jest Client...
2018-05-08 13:54:13.288+0000 INFO  Created Jest Client.

Procedures call:

CALL ga.es.queryNode('{\"query\":{\"match\":{\"souce.name\":\"MyName\"}}}') YIELD node, score RETURN node, score;

Returns the following in Neo4j Browser:

Neo.ClientError.Transaction.TransactionMarkedAsFailed: Transaction rolled back even if marked as successful

And in the logs:

2018-05-08 13:49:07.314+0000 WARN  Explicit node index uuidIndex does not yet exist. Node index 'uuidIndex not found
org.neo4j.kernel.api.exceptions.explicitindex.ExplicitIndexNotFoundKernelException: Node index 'uuidIndex not found
    at org.neo4j.kernel.impl.api.state.ExplicitIndexTransactionStateImpl.nodeChanges(ExplicitIndexTransactionStateImpl.java:82)
    at org.neo4j.kernel.impl.api.CachingExplicitIndexTransactionState.nodeChanges(CachingExplicitIndexTransactionState.java:54)
    at org.neo4j.kernel.impl.api.StateHandlingStatementOperations.nodeExplicitIndexGet(StateHandlingStatementOperations.java:1483)
    at org.neo4j.kernel.impl.api.OperationsFacade.nodeExplicitIndexGet(OperationsFacade.java:1049)
    at com.graphaware.module.uuid.index.ExplicitIndexer.getNodeByUuid(ExplicitIndexer.java:63)
    at com.graphaware.module.uuid.read.DefaultUuidReader.getNodeIdByUuid(DefaultUuidReader.java:41)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at com.graphaware.module.es.search.resolver.UuidResolver.getNodeID(UuidResolver.java:83)
    at com.graphaware.module.es.search.Searcher.lambda$getNodeResolver$1(Searcher.java:93)
    at com.graphaware.module.es.search.Searcher.lambda$resolveMatchItems$2(Searcher.java:110)
    at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1380)
    at java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:580)
    at com.graphaware.module.es.search.Searcher.resolveMatchItems(Searcher.java:109)
    at com.graphaware.module.es.search.Searcher.search(Searcher.java:223)
    at com.graphaware.module.es.proc.ElasticSearchProcedures.queryNode(ElasticSearchProcedures.java:63)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.neo4j.kernel.impl.proc.ReflectiveProcedureCompiler$ReflectiveProcedure.apply(ReflectiveProcedureCompiler.java:596)
    at org.neo4j.kernel.impl.proc.ProcedureRegistry.callProcedure(ProcedureRegistry.java:202)
    at org.neo4j.kernel.impl.proc.Procedures.callProcedure(Procedures.java:257)
    at org.neo4j.kernel.impl.api.OperationsFacade.callProcedure(OperationsFacade.java:1440)
    at org.neo4j.kernel.impl.api.OperationsFacade.procedureCallWrite(OperationsFacade.java:1394)
    at org.neo4j.cypher.internal.spi.v3_3.TransactionBoundQueryContext$$anonfun$20.apply(TransactionBoundQueryContext.scala:706)
    at org.neo4j.cypher.internal.spi.v3_3.TransactionBoundQueryContext$$anonfun$20.apply(TransactionBoundQueryContext.scala:706)
    at org.neo4j.cypher.internal.spi.v3_3.TransactionBoundQueryContext.callProcedure(TransactionBoundQueryContext.scala:729)
    at org.neo4j.cypher.internal.spi.v3_3.TransactionBoundQueryContext.callReadWriteProcedure(TransactionBoundQueryContext.scala:707)
    at org.neo4j.cypher.internal.compatibility.v3_3.ExceptionTranslatingQueryContext$$anonfun$callReadWriteProcedure$1.apply(ExceptionTranslatingQueryContext.scala:153)
    at org.neo4j.cypher.internal.compatibility.v3_3.ExceptionTranslatingQueryContext$$anonfun$callReadWriteProcedure$1.apply(ExceptionTranslatingQueryContext.scala:153)
    at org.neo4j.cypher.internal.spi.v3_3.ExceptionTranslationSupport$class.translateException(ExceptionTranslationSupport.scala:32)
    at org.neo4j.cypher.internal.compatibility.v3_3.ExceptionTranslatingQueryContext.translateException(ExceptionTranslatingQueryContext.scala:39)
    at org.neo4j.cypher.internal.spi.v3_3.ExceptionTranslationSupport$class.translateIterator(ExceptionTranslationSupport.scala:46)
    at org.neo4j.cypher.internal.compatibility.v3_3.ExceptionTranslatingQueryContext.translateIterator(ExceptionTranslatingQueryContext.scala:39)
    at org.neo4j.cypher.internal.compatibility.v3_3.ExceptionTranslatingQueryContext.callReadWriteProcedure(ExceptionTranslatingQueryContext.scala:153)
    at org.neo4j.cypher.internal.spi.v3_3.DelegatingQueryContext.callReadWriteProcedure(DelegatingQueryContext.scala:217)
    at org.neo4j.cypher.internal.compatibility.v3_3.runtime.executionplan.EagerReadWriteCallMode.callProcedure(ProcedureCallMode.scala:55)
    at org.neo4j.cypher.internal.compatibility.v3_3.runtime.pipes.ProcedureCallPipe$$anon$$$$ad93371f26992c1f243949f3f9c28e5$$$$ateResultsByAppending$1.apply(ProcedureCallPipe.scala:68)
    at org.neo4j.cypher.internal.compatibility.v3_3.runtime.pipes.ProcedureCallPipe$$anon$$$$ad93371f26992c1f243949f3f9c28e5$$$$ateResultsByAppending$1.apply(ProcedureCallPipe.scala:66)
    at scala.collection.Iterator$$anon$12.nextCur(Iterator.scala:435)
    at scala.collection.Iterator$$anon$12.hasNext(Iterator.scala:441)
    at scala.collection.Iterator$$anon$11.hasNext(Iterator.scala:409)
    at org.neo4j.cypher.internal.compatibility.v3_3.runtime.ClosingIterator.hasNext(ResultIterator.scala:58)
    at scala.collection.Iterator$class.foreach(Iterator.scala:891)
    at org.neo4j.cypher.internal.compatibility.v3_3.runtime.ClosingIterator.foreach(ResultIterator.scala:46)
    at scala.collection.generic.Growable$class.$plus$plus$eq(Growable.scala:59)
    at scala.collection.mutable.ListBuffer.$plus$plus$eq(ListBuffer.scala:183)
    at scala.collection.mutable.ListBuffer.$plus$plus$eq(ListBuffer.scala:45)
    at scala.collection.TraversableOnce$class.to(TraversableOnce.scala:310)
    at org.neo4j.cypher.internal.compatibility.v3_3.runtime.ClosingIterator.to(ResultIterator.scala:46)
    at scala.collection.TraversableOnce$class.toList(TraversableOnce.scala:294)
    at org.neo4j.cypher.internal.compatibility.v3_3.runtime.ClosingIterator.toList(ResultIterator.scala:46)
    at org.neo4j.cypher.internal.compatibility.v3_3.runtime.EagerResultIterator.<init>(ResultIterator.scala:32)
    at org.neo4j.cypher.internal.compatibility.v3_3.runtime.ClosingIterator.toEager(ResultIterator.scala:50)
    at org.neo4j.cypher.internal.compatibility.v3_3.runtime.executionplan.DefaultExecutionResultBuilderFactory$ExecutionWorkflowBuilder.buildResultIterator(DefaultExecutionResultBuilderFactory.scala:120)
    at org.neo4j.cypher.internal.compatibility.v3_3.runtime.executionplan.DefaultExecutionResultBuilderFactory$ExecutionWorkflowBuilder.createResults(DefaultExecutionResultBuilderFactory.scala:103)
    at org.neo4j.cypher.internal.compatibility.v3_3.runtime.executionplan.DefaultExecutionResultBuilderFactory$ExecutionWorkflowBuilder.build(DefaultExecutionResultBuilderFactory.scala:74)
    at org.neo4j.cypher.internal.compatibility.v3_3.runtime.BuildInterpretedExecutionPlan$$anonfun$getExecutionPlanFunction$1.apply(BuildInterpretedExecutionPlan.scala:100)
    at org.neo4j.cypher.internal.compatibility.v3_3.runtime.BuildInterpretedExecutionPlan$$anonfun$getExecutionPlanFunction$1.apply(BuildInterpretedExecutionPlan.scala:83)
    at org.neo4j.cypher.internal.compatibility.v3_3.runtime.BuildInterpretedExecutionPlan$InterpretedExecutionPlan.run(BuildInterpretedExecutionPlan.scala:116)
    at org.neo4j.cypher.internal.compatibility.v3_3.Compatibility$ExecutionPlanWrapper$$anonfun$run$1.apply(Compatibility.scala:183)
    at org.neo4j.cypher.internal.compatibility.v3_3.Compatibility$ExecutionPlanWrapper$$anonfun$run$1.apply(Compatibility.scala:179)
    at org.neo4j.cypher.internal.compatibility.v3_3.exceptionHandler$runSafely$.apply(exceptionHandler.scala:90)
    at org.neo4j.cypher.internal.compatibility.v3_3.Compatibility$ExecutionPlanWrapper.run(Compatibility.scala:179)
    at org.neo4j.cypher.internal.PreparedPlanExecution.execute(PreparedPlanExecution.scala:29)
    at org.neo4j.cypher.internal.ExecutionEngine.execute(ExecutionEngine.scala:120)
    at org.neo4j.cypher.internal.javacompat.ExecutionEngine.executeQuery(ExecutionEngine.java:62)
    at org.neo4j.bolt.v1.runtime.TransactionStateMachineSPI$1.start(TransactionStateMachineSPI.java:146)
    at org.neo4j.bolt.v1.runtime.TransactionStateMachine$State$1.run(TransactionStateMachine.java:247)
    at org.neo4j.bolt.v1.runtime.TransactionStateMachine.run(TransactionStateMachine.java:82)
    at org.neo4j.bolt.v1.runtime.BoltStateMachine$State$2.run(BoltStateMachine.java:408)
    at org.neo4j.bolt.v1.runtime.BoltStateMachine.run(BoltStateMachine.java:200)
    at org.neo4j.bolt.v1.messaging.BoltMessageRouter.lambda$onRun$3(BoltMessageRouter.java:93)
    at org.neo4j.bolt.v1.runtime.concurrent.RunnableBoltWorker.execute(RunnableBoltWorker.java:152)
    at org.neo4j.bolt.v1.runtime.concurrent.RunnableBoltWorker.run(RunnableBoltWorker.java:104)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)
    at org.neo4j.helpers.NamedThreadFactory$2.run(NamedThreadFactory.java:109)
2018-05-08 13:49:07.316+0000 ERROR  java.lang.reflect.InvocationTargetException
java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
    at com.graphaware.module.es.search.resolver.UuidResolver.getNodeID(UuidResolver.java:85)
    at com.graphaware.module.es.search.Searcher.lambda$getNodeResolver$1(Searcher.java:93)
    at com.graphaware.module.es.search.Searcher.lambda$resolveMatchItems$2(Searcher.java:110)
    at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1380)
    at java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:580)
    at com.graphaware.module.es.search.Searcher.resolveMatchItems(Searcher.java:109)
    at com.graphaware.module.es.search.Searcher.search(Searcher.java:223)
    at com.graphaware.module.es.proc.ElasticSearchProcedures.queryNode(ElasticSearchProcedures.java:63)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.neo4j.kernel.impl.proc.ReflectiveProcedureCompiler$ReflectiveProcedure.apply(ReflectiveProcedureCompiler.java:596)
    at org.neo4j.kernel.impl.proc.ProcedureRegistry.callProcedure(ProcedureRegistry.java:202)
    at org.neo4j.kernel.impl.proc.Procedures.callProcedure(Procedures.java:257)
    at org.neo4j.kernel.impl.api.OperationsFacade.callProcedure(OperationsFacade.java:1440)
    at org.neo4j.kernel.impl.api.OperationsFacade.procedureCallWrite(OperationsFacade.java:1394)
    at org.neo4j.cypher.internal.spi.v3_3.TransactionBoundQueryContext$$anonfun$20.apply(TransactionBoundQueryContext.scala:706)
    at org.neo4j.cypher.internal.spi.v3_3.TransactionBoundQueryContext$$anonfun$20.apply(TransactionBoundQueryContext.scala:706)
    at org.neo4j.cypher.internal.spi.v3_3.TransactionBoundQueryContext.callProcedure(TransactionBoundQueryContext.scala:729)
    at org.neo4j.cypher.internal.spi.v3_3.TransactionBoundQueryContext.callReadWriteProcedure(TransactionBoundQueryContext.scala:707)
    at org.neo4j.cypher.internal.compatibility.v3_3.ExceptionTranslatingQueryContext$$anonfun$callReadWriteProcedure$1.apply(ExceptionTranslatingQueryContext.scala:153)
    at org.neo4j.cypher.internal.compatibility.v3_3.ExceptionTranslatingQueryContext$$anonfun$callReadWriteProcedure$1.apply(ExceptionTranslatingQueryContext.scala:153)
    at org.neo4j.cypher.internal.spi.v3_3.ExceptionTranslationSupport$class.translateException(ExceptionTranslationSupport.scala:32)
    at org.neo4j.cypher.internal.compatibility.v3_3.ExceptionTranslatingQueryContext.translateException(ExceptionTranslatingQueryContext.scala:39)
    at org.neo4j.cypher.internal.spi.v3_3.ExceptionTranslationSupport$class.translateIterator(ExceptionTranslationSupport.scala:46)
    at org.neo4j.cypher.internal.compatibility.v3_3.ExceptionTranslatingQueryContext.translateIterator(ExceptionTranslatingQueryContext.scala:39)
    at org.neo4j.cypher.internal.compatibility.v3_3.ExceptionTranslatingQueryContext.callReadWriteProcedure(ExceptionTranslatingQueryContext.scala:153)
    at org.neo4j.cypher.internal.spi.v3_3.DelegatingQueryContext.callReadWriteProcedure(DelegatingQueryContext.scala:217)
    at org.neo4j.cypher.internal.compatibility.v3_3.runtime.executionplan.EagerReadWriteCallMode.callProcedure(ProcedureCallMode.scala:55)
    at org.neo4j.cypher.internal.compatibility.v3_3.runtime.pipes.ProcedureCallPipe$$anon$$$$ad93371f26992c1f243949f3f9c28e5$$$$ateResultsByAppending$1.apply(ProcedureCallPipe.scala:68)
    at org.neo4j.cypher.internal.compatibility.v3_3.runtime.pipes.ProcedureCallPipe$$anon$$$$ad93371f26992c1f243949f3f9c28e5$$$$ateResultsByAppending$1.apply(ProcedureCallPipe.scala:66)
    at scala.collection.Iterator$$anon$12.nextCur(Iterator.scala:435)
    at scala.collection.Iterator$$anon$12.hasNext(Iterator.scala:441)
    at scala.collection.Iterator$$anon$11.hasNext(Iterator.scala:409)
    at org.neo4j.cypher.internal.compatibility.v3_3.runtime.ClosingIterator.hasNext(ResultIterator.scala:58)
    at scala.collection.Iterator$class.foreach(Iterator.scala:891)
    at org.neo4j.cypher.internal.compatibility.v3_3.runtime.ClosingIterator.foreach(ResultIterator.scala:46)
    at scala.collection.generic.Growable$class.$plus$plus$eq(Growable.scala:59)
    at scala.collection.mutable.ListBuffer.$plus$plus$eq(ListBuffer.scala:183)
    at scala.collection.mutable.ListBuffer.$plus$plus$eq(ListBuffer.scala:45)
    at scala.collection.TraversableOnce$class.to(TraversableOnce.scala:310)
    at org.neo4j.cypher.internal.compatibility.v3_3.runtime.ClosingIterator.to(ResultIterator.scala:46)
    at scala.collection.TraversableOnce$class.toList(TraversableOnce.scala:294)
    at org.neo4j.cypher.internal.compatibility.v3_3.runtime.ClosingIterator.toList(ResultIterator.scala:46)
    at org.neo4j.cypher.internal.compatibility.v3_3.runtime.EagerResultIterator.<init>(ResultIterator.scala:32)
    at org.neo4j.cypher.internal.compatibility.v3_3.runtime.ClosingIterator.toEager(ResultIterator.scala:50)
    at org.neo4j.cypher.internal.compatibility.v3_3.runtime.executionplan.DefaultExecutionResultBuilderFactory$ExecutionWorkflowBuilder.buildResultIterator(DefaultExecutionResultBuilderFactory.scala:120)
    at org.neo4j.cypher.internal.compatibility.v3_3.runtime.executionplan.DefaultExecutionResultBuilderFactory$ExecutionWorkflowBuilder.createResults(DefaultExecutionResultBuilderFactory.scala:103)
    at org.neo4j.cypher.internal.compatibility.v3_3.runtime.executionplan.DefaultExecutionResultBuilderFactory$ExecutionWorkflowBuilder.build(DefaultExecutionResultBuilderFactory.scala:74)
    at org.neo4j.cypher.internal.compatibility.v3_3.runtime.BuildInterpretedExecutionPlan$$anonfun$getExecutionPlanFunction$1.apply(BuildInterpretedExecutionPlan.scala:100)
    at org.neo4j.cypher.internal.compatibility.v3_3.runtime.BuildInterpretedExecutionPlan$$anonfun$getExecutionPlanFunction$1.apply(BuildInterpretedExecutionPlan.scala:83)
    at org.neo4j.cypher.internal.compatibility.v3_3.runtime.BuildInterpretedExecutionPlan$InterpretedExecutionPlan.run(BuildInterpretedExecutionPlan.scala:116)
    at org.neo4j.cypher.internal.compatibility.v3_3.Compatibility$ExecutionPlanWrapper$$anonfun$run$1.apply(Compatibility.scala:183)
    at org.neo4j.cypher.internal.compatibility.v3_3.Compatibility$ExecutionPlanWrapper$$anonfun$run$1.apply(Compatibility.scala:179)
    at org.neo4j.cypher.internal.compatibility.v3_3.exceptionHandler$runSafely$.apply(exceptionHandler.scala:90)
    at org.neo4j.cypher.internal.compatibility.v3_3.Compatibility$ExecutionPlanWrapper.run(Compatibility.scala:179)
    at org.neo4j.cypher.internal.PreparedPlanExecution.execute(PreparedPlanExecution.scala:29)
    at org.neo4j.cypher.internal.ExecutionEngine.execute(ExecutionEngine.scala:120)
    at org.neo4j.cypher.internal.javacompat.ExecutionEngine.executeQuery(ExecutionEngine.java:62)
    at org.neo4j.bolt.v1.runtime.TransactionStateMachineSPI$1.start(TransactionStateMachineSPI.java:146)
    at org.neo4j.bolt.v1.runtime.TransactionStateMachine$State$1.run(TransactionStateMachine.java:247)
    at org.neo4j.bolt.v1.runtime.TransactionStateMachine.run(TransactionStateMachine.java:82)
    at org.neo4j.bolt.v1.runtime.BoltStateMachine$State$2.run(BoltStateMachine.java:408)
    at org.neo4j.bolt.v1.runtime.BoltStateMachine.run(BoltStateMachine.java:200)
    at org.neo4j.bolt.v1.messaging.BoltMessageRouter.lambda$onRun$3(BoltMessageRouter.java:93)
    at org.neo4j.bolt.v1.runtime.concurrent.RunnableBoltWorker.execute(RunnableBoltWorker.java:152)
    at org.neo4j.bolt.v1.runtime.concurrent.RunnableBoltWorker.run(RunnableBoltWorker.java:104)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)
    at org.neo4j.helpers.NamedThreadFactory$2.run(NamedThreadFactory.java:109)
Caused by: java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at com.graphaware.module.es.search.resolver.UuidResolver.getNodeID(UuidResolver.java:83)
    ... 73 more
Caused by: org.neo4j.graphdb.NotFoundException: Node with UUID 16d9cbe7-27c1-4557-9c71-43ce7239e21e does not exist
    at com.graphaware.module.uuid.read.DefaultUuidReader.getNodeIdByUuid(DefaultUuidReader.java:44)
    ... 78 more

The UUID that is referenced in the log error message does exist:

MATCH (n) WHERE n.id='16d9cbe7-27c1-4557-9c71-43ce7239e21e' RETURN n;
{
  id: '16d9cbe7-27c1-4557-9c71-43ce7239e21e',
  name: 'MyName'
}

The uuidIndex does not exist, as is indicated in the error message. I double checked with

:schema

and there is no uuidIndex there.

So, commented out the uuidIndex line in my neo4j.conf file. The same issues as above continued.

neurofoo commented 6 years ago

Other strange thing I just noticed... In my neo4j db I have 268 Project nodes and 37 Lab nodes. Sometimes the Project nodes get indexed into ES. Sometimes the Lab nodes get indexed into ES. I've yet to see all the nodes get indexed into ES.

Other possible relevant information... Between each I attempt I completely remove the previous ES indexes and nuke the Neo4j cluster. I then bring up a new neo4j cluster with the new config files in order to make sure there are no carryover effects.

There is a consistent warning that shows up in the boot logs:

2018-05-08 13:32:03.307+0000 WARN  Failed to execute bulk action against ElasticSearch. Details: One or more of the items in the Bulk request failed, check BulkResult.getItems() for more information.
2018-05-08 13:32:03.308+0000 WARN  There were 638 failures in replicating to Elasticsearch. These updates got lost.

When I go to $NEO4J_HOME/logs/ I do not see any specific GA log files. When I inspect $NEO4J_HOME/logs/debug I do not see the above mentioned log information (i.e., nothing about BulkResult.getItem()).

neurofoo commented 6 years ago

As for being able to use this without the UUIDModule. When I comment out all the lines related to that module, I get errors of not finding the UUIDModule. E.g.,

CALL ga.es.info() yield json;

Returns

Neo.ClientError.Procedure.ProcedureCallFailed: Failed to invoke procedure `ga.es.info`: Caused by: org.neo4j.graphdb.NotFoundException: No module of type com.graphaware.module.uuid.UuidModule has been registered
jordanfowler commented 5 years ago

Any more information here? I'm running into the exact same problems with these versions:

neo4j-3.3.9 graphaware-neo4j-to-elasticsearch-3.3.5.52.8.jar graphaware-server-community-all-3.3.2.52.jar

slygren commented 5 years ago

Same error here - on 3.5.1. Any updates?