Czajah, Hi, your workaround for 3.0.6 also works in native mode (older paxos HA). 3.1.0 - thanks.
A source
The github project (Maven, Tomcat 8 WAR) at https://github.com/obrienlabs/nbi-neo4j-embedded-aws-war
Endpoints
Add node to inline db graph http://neo4j.ca-central-1.elasticbeanstalk.com/FrontController?action=graph
The browser is on port 7575
With a few changes, I was able to wrap the HighlyAvailableGraphDatabase database with EnterpriseBootstrapper.
There are some non-fatal exceptions around JMX reports in debug.log, which are probably related to my version of tomcat 8.0.28, but the db graph built into Tomcat is fine.
2016-12-21 16:20:00.574+0000 INFO Bolt enabled on 0.0.0.0:7688. 2016-12-21 16:20:09.554+0000 INFO Attempting to join cluster of [127.0.0.1:5001] 2016-12-21 16:20:11.566+0000 INFO Creating new cluster with name [neo4j.ha]... 2016-12-21 16:20:11.607+0000 INFO Instance 1 (this server) entered the cluster 2016-12-21 16:20:12.164+0000 INFO I am 1, moving to master 2016-12-21 16:20:12.293+0000 INFO Instance 1 (this server) was elected as coordinator 2016-12-21 16:20:12.462+0000 INFO I am 1, successfully moved to master 2016-12-21 16:20:12.513+0000 INFO Instance 1 (this server) is available as master at ha:
Spring config
<util:map id="config"> <entry key="ha.server_id" value="1"/> <entry key="ha.initial_hosts" value="127.0.0.1:5001"/> <entry key="dbms.mode" value="HA"/> <entry key="browser.allow_outgoing_connection" value="true" /> <entry key="unsupported.dbms.ephemerall" value="false" /> <entry key="dbms.connector.http.address" value="0.0.0.0:7575" /> <entry key="dbms.connector.bolt.address" value="0.0.0.0:7688" /> <entry key="dbms.connector.http.enabled" value="true" /> <entry key="dbms.connector.bolt.enabled" value="true" /> <entry key="dbms.connector.http.type" value="HTTP" /> <entry key="dbms.connector.bolt.type" value="BOLT" /> <entry key="dbms.connector.http.tls_level" value="DISABLED" /> <entry key="dbms.connector.bolt.tls_level" value="DISABLED" /> <entry key="dbms.security.auth_enabled" value="true"/> <entry key="dbms.logs.debug.level" value="DEBUG"/> <entry key="dbms.logs.http.enabled" value="true" /> <entry key="dbms.logs.query.enabled" value="true"/> <entry key="dbms.shell.enabled" value="true"/> </util:map> <bean id="haMonitor" class="org.obrienlabs.nbi.graph.service.HaMonitor"/> <bean id="graphDbFactory" class="org.obrienlabs.nbi.graph.service.ExtendedHighlyAvailableGraphDatabaseFactory"> <constructor-arg ref="haMonitor" /> </bean> <bean id="graphDbBuilder" factory-bean="graphDbFactory" factory-method="newEmbeddedDatabaseBuilder"> <constructor-arg value="/ec2-user"/> </bean> <bean id="graphDbBuilderFinal" factory-bean="graphDbBuilder" factory-method="setConfig"> <constructor-arg ref="config"/> </bean> <bean id="graphDatabaseService" factory-bean="graphDbBuilderFinal" factory-method="newGraphDatabase" destroy-method="shutdown" />
Transactions go through
2016-12-21 20:51:07.478+0000 INFO [onkiscCountsTracker] About to rotate counts store at transaction 9 to [/ec2-user/data/databases/graph.db/neostore.counts.db.b], from [/ec2-user/data/databases/graph.db/neostore.counts.db.a]. 2016-12-21 20:51:07.480+0000 INFO [onkiscCountsTracker] Successfully rotated counts store at transaction 9 to [/ec2-user/data/databases/graph.db/neostore.counts.db.b], from [/ec2-user/data/databases/graph.db/neostore.counts.db.a]. 2016-12-21 20:51:07.483+0000 INFO [onkitlcCheckPointerImpl] Check Pointing triggered by scheduler for time threshold [9]: Store flush completed
Settings from mbean to jconsole
2016-12-23 13:28:12.708+0000 INFO [onkiDiagnosticsManager] Kernel version: 3.1.0,16a782b42d76ca37db72958eb2565cf6aa671a29 2016-12-23 13:28:12.708+0000 INFO [onkiDiagnosticsManager] Neo4j Kernel properties: 2016-12-23 13:28:12.708+0000 INFO [onkiDiagnosticsManager] dbms.logs.query.enabled=true 2016-12-23 13:28:12.708+0000 INFO [onkiDiagnosticsManager] dbms.security.auth_enabled=true 2016-12-23 13:28:12.708+0000 INFO [onkiDiagnosticsManager] dbms.connector.bolt.tls_level=DISABLED 2016-12-23 13:28:12.708+0000 INFO [onkiDiagnosticsManager] dbms.shell.enabled=true 2016-12-23 13:28:12.708+0000 INFO [onkiDiagnosticsManager] ha.server_id=1 2016-12-23 13:28:12.708+0000 INFO [onkiDiagnosticsManager] dbms.logs.http.enabled=true 2016-12-23 13:28:12.708+0000 INFO [onkiDiagnosticsManager] ha.initial_hosts=127.0.0.1:5001 2016-12-23 13:28:12.708+0000 INFO [onkiDiagnosticsManager] dbms.allow_format_migration=false 2016-12-23 13:28:12.708+0000 INFO [onkiDiagnosticsManager] dbms.connector.http.address=0.0.0.0:7575 2016-12-23 13:28:12.708+0000 INFO [onkiDiagnosticsManager] dbms.connector.bolt.enabled=true 2016-12-23 13:28:12.708+0000 INFO [onkiDiagnosticsManager] dbms.connector.http.tls_level=DISABLED 2016-12-23 13:28:12.708+0000 INFO [onkiDiagnosticsManager] dbms.connector.http.enabled=true 2016-12-23 13:28:12.708+0000 INFO [onkiDiagnosticsManager] dbms.mode=HA 2016-12-23 13:28:12.708+0000 INFO [onkiDiagnosticsManager] unsupported.dbms.block_size.labels=56 2016-12-23 13:28:12.708+0000 INFO [onkiDiagnosticsManager] dbms.connector.bolt.type=BOLT 2016-12-23 13:28:12.708+0000 INFO [onkiDiagnosticsManager] unsupported.dbms.directories.neo4j_home=/ec2-user 2016-12-23 13:28:12.708+0000 INFO [onkiDiagnosticsManager] unsupported.dbms.ephemerall=false 2016-12-23 13:28:12.708+0000 INFO [onkiDiagnosticsManager] browser.allow_outgoing_connection=true 2016-12-23 13:28:12.708+0000 INFO [onkiDiagnosticsManager] dbms.logs.debug.level=DEBUG 2016-12-23 13:28:12.708+0000 INFO [onkiDiagnosticsManager] dbms.connector.http.type=HTTP 2016-12-23 13:28:12.708+0000 INFO [onkiDiagnosticsManager] unsupported.dbms.block_size.strings=120 2016-12-23 13:28:12.708+0000 INFO [onkiDiagnosticsManager] unsupported.dbms.block_size.array_properties=120 2016-12-23 13:28:12.708+0000 INFO [onkiDiagnosticsManager] unsupported.dbms.edition=enterprise 2016-12-23 13:28:12.708+0000 INFO [onkiDiagnosticsManager] dbms.connector.bolt.address=0.0.0.0:7688
7575 (berth port) and ports 7688 (bolt) are open
obrienlabs-mbp15:_deployment michaelobrien$ netstat -vatn | grep 7575 tcp46 0 0 *.7575 *.* LISTEN 131072 131072 49013 0 tcp4 0 0 127.0.0.1.7575 127.0.0.1.60685 TIME_WAIT 407296 146988 49013 0 tcp6 0 0 ::1.7575 ::1.60699 TIME_WAIT 407284 146808 49013 0 tcp6 0 0 ::1.7575 ::1.60700 TIME_WAIT 407284 146808 49013 0 obrienlabs-mbp15:_deployment michaelobrien$ netstat -vatn | grep 7688 tcp6 0 0 ::1.7688 ::1.60704 ESTABLISHED 406582 146808 49013 0 tcp6 0 0 ::1.60704 ::1.7688 ESTABLISHED 398196 146808 48165 0 tcp6 0 0 ::1.7688 ::1.60702 ESTABLISHED 406570 146808 49013 0 tcp6 0 0 ::1.60702 ::1.7688 ESTABLISHED 398185 146808 48165 0 tcp6 0 0 ::1.7688 ::1.60701 ESTABLISHED 407255 146808 49013 0 tcp6 0 0 ::1.60701 ::1.7688 ESTABLISHED 407628 146808 48165 0 tcp46 0 0 *.7688 *.* LISTEN 131072 131072 49013 0 obrienlabs-mbp15:_deployment michaelobrien$ netstat -vatn | grep 8080 tcp4 0 0 127.0.0.1.8080 127.0.0.1.60584 FIN_WAIT_2 408104 146988 49013 0 tcp4 994 0 127.0.0.1.60584 127.0.0.1.8080 CLOSE_WAIT 408128 146988 42992 0 tcp46 0 0 *.8080 *.* LISTEN 131072 131072 49013 0 udp4 0 0 *.* *.* 196724 9216 38080 0
/ec2-user/logs/http.log
2016-12-23 02:53:21.505+0000 INFO [REQUEST] [AsyncLog @ 2016-12-23 02:53:21.505+0000] 0:0:0:0:0:0:0:1 - [Thu Dec 22 21:53:21 EST 2016] "/browser/views/frame-cypher.html?null" 200 22972 "http://localhost:7575/browser/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_1) AppleWebKit/602.2.14 (KHTML, like Gecko) Version/10.0.1 Safari/602.2.14" 2
query.log
2016-12-23 13:33:39.059+0000 INFO 175 ms: bolt-session bolt neo4j neo4j-javascript/[object Object] client/0:0:0:0:0:0:0:1:64019 server/0:0:0:0:0:0:0:1:7688> neo4j - MATCH (a)-[r]->(b) WHERE id(a) IN {node_ids} AND id(b) IN {new_node_ids} RETURN r; - {node_ids: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22], new_node_ids: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22]} - {}
Disclaimer: I believe that the correct architecture includes a cluster set of servers with support for Neo4j server mode using causal clustering using the raft protocol. This undocumented / internal API is used as a temporary workaround to get the neo4j browser on the integrated Neo4j server in version 3.1.0, since it was used to work in WrappingNeoServerBootstrapper in version 2.3. Using an embedded server for faster crawls was a precedent - performance should be reevaluated to see if bolt-based architecture is more appropriate for the crawl API. /Michael