Neo4j and AWS ElasticSearch Integration Fails Occasionally

I use the Neo4j ElasticSearch integration module ( https://github.com/neo4j-contrib/neo4j-elasticsearch ) on the local, development server and middle tier, given that the elasticsearch service is running on the server itself.

But when Amazon AWS ElasticSearch is used and the data is added to Neo4j db - sometimes the data is not inserted into the elastic search.

There is no error or exception that occurs during a transaction between Neo4j and Elasticsearch.

So it becomes difficult to debug why this is happening.

Any ideas are welcome.

Edit:

In terms of network configuration, the server is an EC2 instance where Neo4j is installed, and the ElasticSearch service is AWS ElasticSearch Service. Since it sometimes works, I do not understand any network problems here.

Neo4j version: 2.3.6 ElasticSearch version: 2.3.2

Again, indicate that this only happens when the "AWS ElasticSearch Service" is connected, and not with what works on the EC2 instance itself.

It would be very helpful to know if there is a way to register transactions between Neo4j and ElasticSearch services.

The following is the contents of the log file: /var/log/neo4j/console.log

2016-09-02 12:27:47.494+0000 INFO Remote interface ready and available at http://0.0.0.0:7474/ 12:28:42.520 [NodeChecker RUNNING] ERROR iscconfig.discovery.NodeChecker - Error executing NodesInfo! io.searchbox.client.config.exception.NoServerConfiguredException: No Server is assigned to client to connect at io.searchbox.client.AbstractJestClient$ServerPool.getNextServer(AbstractJestClient.java:132) ~[jest-common-2.0.2.jar:na] at io.searchbox.client.AbstractJestClient.getNextServer(AbstractJestClient.java:81) ~[jest-common-2.0.2.jar:na] at io.searchbox.client.http.JestHttpClient.prepareRequest(JestHttpClient.java:80) ~[jest-2.0.2.jar:na] at io.searchbox.client.http.JestHttpClient.execute(JestHttpClient.java:46) ~[jest-2.0.2.jar:na] at io.searchbox.client.config.discovery.NodeChecker.runOneIteration(NodeChecker.java:65) ~[jest-common-2.0.2.jar:na] at com.google.common.util.concurrent.AbstractScheduledService$ServiceDelegate$Task.run(AbstractScheduledService.java:189) [guava-19.0.jar:na] at com.google.common.util.concurrent.Callables$3.run(Callables.java:100) [guava-19.0.jar:na] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [na:1.8.0_101] at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) [na:1.8.0_101] at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) [na:1.8.0_101] at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) [na:1.8.0_101] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_101] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_101] at java.lang.Thread.run(Thread.java:745) [na:1.8.0_101] 12:28:42.540 [NodeChecker RUNNING] INFO isclient.AbstractJestClient - Setting server pool to a list of 1 servers: [ELASTICSEARCH_URL] 12:29:42.541 [NodeChecker RUNNING] DEBUG isclient.http.JestHttpClient - GET method created based on client request 12:29:42.541 [NodeChecker RUNNING] DEBUG isclient.http.JestHttpClient - Request method=GET url=ELASTICSEARCH_URL/_nodes/_all/http 12:29:42.553 [NodeChecker RUNNING] DEBUG io.searchbox.action.AbstractAction - Request and operation succeeded 12:29:42.553 [NodeChecker RUNNING] DEBUG iscconfig.discovery.NodeChecker - Discovered 0 HTTP hosts: 12:29:42.553 [NodeChecker RUNNING] INFO isclient.AbstractJestClient - Setting server pool to a list of 0 servers: [] 12:29:42.553 [NodeChecker RUNNING] WARN isclient.AbstractJestClient - No servers are currently available to connect. 

API response: ELASTICSEARCH_URL / _nodes / _all / http

Instance EC2:

 {"cluster_name":"elasticsearch","nodes":{"X9zagEOlSK-h3l9dSG08PA":{"name":"Her","transport_address":"172.31.50.210:9300","host":"172.31.50.210","ip":"172.31.50.210","version":"2.3.0","build":"8371be8","http_address":"172.31.50.210:9200","http":{"bound_address":["[::]:9200"],"publish_address":"172.31.50.210:9200","max_content_length_in_bytes":104857600}}}} 

AWS ElasticSearch Instance:

 {"cluster_name":"102372860153:ES_DONAIN_NAME","nodes":{"kXO7l2ZyRgaDq44Ohx4qCA":{"name":"Cassie Lang","version":"2.3.2","build":"0944b4b"}}} 
+7
neo4j amazon-web-services amazon-elasticsearch
source share

No one has answered this question yet.

See related questions:

3
Index inconsistency with Titan over AWS DynamoDB
2
Elasticerch Master does not detect an exception - Version 2.3.0
2
Neo4J server stuck close to 100% processor
2
Failed to connect to Elasticsearch via public IP
one
The error indicates "perform the necessary action (tx recovery / restart)". How it's done?
one
Deploy the Rails app with elasticsearch stone for AWS Beanstalk
one
Submitting requests to ElasticSearch for an EC2 instance
0
# neo4j ERROR [onkhcHighAvailabilityModeSwitcher]: Error trying to switch to slave
0
Cannot get spring-data-neo4j to connect to remote database
0
No command response from neo4j-shell despite establishing a connection

All Articles