Unable To Reach Local ArcadeDB-Studio on ArcadeDB-Docker-Container with Gremlin-API Enabled

115 Views Asked by At

What are the details of your problem?

I'm unable to access ArcadeDB-Studio when trying to connect to Gremlin-API-enabled ArcadeDB-Docker-container. I don't understand why this would make its Studio unavailable. Is there another step I missed when trying to run this command to get ArcadeDB's Gremlin-Server running?

This page isn’t working
localhost didn’t send any data.
ERR_EMPTY_RESPONSE

What did you try and what were you expecting?

Their ArcadeDB front page guide which works fine every time I run it and I see Studio load on localhost:2480 or which ever port I map to fine. To use the Tinkerpop Gremlin API, I've been following their guide on ArcadeDB Docs and wrote up my first issue upon request in their Discord. This has since been added to their 23.5.1 milestone.

Also, ignore the DatabaseOperationException error. This can be fixed in JAVA_OPTS.value by omitting the arcadedb.server.defaultDatabases. And has already been added to ArcadeDB's GitHub-Issues #1107.

DatabaseOperationException: Found active instance of database './databases/graph' already in use
-Darcadedb.server.defaultDatabases=Imported[root]{import:https://github.com/ArcadeData/arcadedb-datasets/raw/main/orientdb/OpenBeer.gz}

But now when I recreate ArcadeDB-instances in Docker-containers, I'm no longer able to open ArcadeDB-Studio. Maybe I never could and I just assumed they were working as I was focused on getting the Gremlin API working. I've tried adding in through the Docker-UI to make sure I was filling in the arguments correctly and that copy-pasting wasn't making special-character issues. I've restarted Docker and its container, stopped-and-(re)started the instance, and restarted the PC.

enter image description here

ArcadeDB Docker Output

2023-06-01 07:32:58 
2023-06-01 07:32:58  █████╗ ██████╗  ██████╗ █████╗ ██████╗ ███████╗██████╗ ██████╗
2023-06-01 07:32:58 ██╔══██╗██╔══██╗██╔════╝██╔══██╗██╔══██╗██╔════╝██╔══██╗██╔══██╗
2023-06-01 07:32:58 ███████║██████╔╝██║     ███████║██║  ██║█████╗  ██║  ██║██████╔╝
2023-06-01 07:32:58 ██╔══██║██╔══██╗██║     ██╔══██║██║  ██║██╔══╝  ██║  ██║██╔══██╗
2023-06-01 07:32:58 ██║  ██║██║  ██║╚██████╗██║  ██║██████╔╝███████╗██████╔╝██████╔╝
2023-06-01 07:32:58 ╚═╝  ╚═╝╚═╝  ╚═╝ ╚═════╝╚═╝  ╚═╝╚═════╝ ╚══════╝╚═════╝ ╚═════╝
2023-06-01 07:32:58 PLAY WITH DATA                                    arcadedb.com
2023-06-01 07:32:58 
2023-06-01 07:32:58 2023-06-01 12:32:58.367 INFO  [ArcadeDBServer] <ArcadeDB_0> ArcadeDB Server v23.3.1-SNAPSHOT (build 0393db01efcce6d393482991ff18b330970081ef/1678969633791/main) is starting up...
2023-06-01 07:32:58 2023-06-01 12:32:58.376 INFO  [ArcadeDBServer] <ArcadeDB_0> Running on Linux 5.10.102.1-microsoft-standard-WSL2 - OpenJDK 64-Bit Server VM Temurin-11.0.18+10
2023-06-01 07:32:58 2023-06-01 12:32:58.377 INFO  [ArcadeDBServer] <ArcadeDB_0> Starting ArcadeDB Server in development mode with plugins [GremlinServer] ...
2023-06-01 07:32:58 2023-06-01 12:32:58.389 INFO  [ArcadeDBServer] <ArcadeDB_0> - JMX Metrics Started...
2023-06-01 07:32:58 2023-06-01 12:32:58.418 INFO  [ServerSecurity] <ArcadeDB_0> Creating root user with the provided password
2023-06-01 07:32:59 2023-06-01 12:32:58.514 INFO  [ArcadeDBServer] <ArcadeDB_0> Creating default database 'Imported'...
2023-06-01 07:33:00 2023-06-01 12:32:59.071 INFO  [SourceDiscovery] <ArcadeDB_0> Analyzing url: https://github.com/ArcadeData/arcadedb-datasets/raw/main/orientdb/OpenBeer.gz...
2023-06-01 07:33:00 2023-06-01 12:33:00.298 INFO  [SourceDiscovery] <ArcadeDB_0> Recognized format OrientDB (parsingLimitBytes=9.54MB parsingLimitEntries=0)
2023-06-01 07:33:01 Importing OrientDB database from stream to './databases/Imported'
2023-06-01 07:33:01 Creation of the schema: types, properties and indexes
2023-06-01 07:33:01 - Created type 'V' with the following properties {}
2023-06-01 07:33:01 - Created type 'Beer' with the following properties {id=INTEGER}
2023-06-01 07:33:01 - Created type 'Brewery' with the following properties {id=INTEGER}
2023-06-01 07:33:01 - Created type 'Category' with the following properties {id=INTEGER}
2023-06-01 07:33:01 - Created type 'E' with the following properties {}
2023-06-01 07:33:01 - Created type 'HasBrewery' with the following properties {}
2023-06-01 07:33:01 - Created type 'HasCategory' with the following properties {}
2023-06-01 07:33:01 - Created type 'HasStyle' with the following properties {}
2023-06-01 07:33:01 - Created type 'Style' with the following properties {id=INTEGER}
2023-06-01 07:33:01 - Created index UNIQUE on Beer[id]
2023-06-01 07:33:02 - Created index UNIQUE on Brewery[id]
2023-06-01 07:33:02 - Created index UNIQUE on Style[id]
2023-06-01 07:33:02 - Created index UNIQUE on Category[id]
2023-06-01 07:33:02 Creation of records started: creating vertices and documents records (edges on the next phase)
2023-06-01 07:33:02 - Creation of records completed: created 7,467 vertices and 0 documents, skipped 14,908 edges (7,467 records/sec elapsed=1 secs)
2023-06-01 07:33:02 Creation of edges started: creating edges between vertices
2023-06-01 07:33:03 - Creation of edges completed: created 14,908 edges {HasStyle=4433, HasBrewery=5901, HasCategory=4574} (14,908 edges/sec elapsed=1 secs)
2023-06-01 07:33:03 Dropping empty 'V' base vertex type (in OrientDB all the vertices have their own class
2023-06-01 07:33:03 Dropping empty 'E' base edge type (in OrientDB all the edges have their own class
2023-06-01 07:33:03 ***************************************************************************************************
2023-06-01 07:33:03 Import of OrientDB database completed in 1 secs with 0 errors and 0 warnings.
2023-06-01 07:33:03 
2023-06-01 07:33:03 SUMMARY
2023-06-01 07:33:03 
2023-06-01 07:33:03 - Records..................................: 7,484
2023-06-01 07:33:03 -- Beer                                    : 5,901 
2023-06-01 07:33:03 -- Brewery                                 : 1,414 
2023-06-01 07:33:03 -- Category                                : 11 
2023-06-01 07:33:03 -- E                                       : 0 
2023-06-01 07:33:03 -- HasBrewery                              : 5,901 
2023-06-01 07:33:03 -- HasCategory                             : 4,574 
2023-06-01 07:33:03 -- HasStyle                                : 4,433 
2023-06-01 07:33:03 -- OFunction                               : 0  (excluded)
2023-06-01 07:33:03 -- OIdentity                               : 0  (excluded)
2023-06-01 07:33:03 -- ORestricted                             : 0  (excluded)
2023-06-01 07:33:03 -- ORole                                   : 3  (excluded)
2023-06-01 07:33:03 -- OSchedule                               : 0  (excluded)
2023-06-01 07:33:03 -- OSecurityPolicy                         : 4  (excluded)
2023-06-01 07:33:03 -- OSequence                               : 0  (excluded)
2023-06-01 07:33:03 -- OTriggered                              : 0  (excluded)
2023-06-01 07:33:03 -- OUser                                   : 3  (excluded)
2023-06-01 07:33:03 -- Style                                   : 141 
2023-06-01 07:33:03 -- V                                       : 0 
2023-06-01 07:33:03 -- _studio                                 : 7  (excluded)
2023-06-01 07:33:03 - Total attributes.........................: 513,424
2023-06-01 07:33:03 ***************************************************************************************************
2023-06-01 07:33:03 
2023-06-01 07:33:03 NOTES:
2023-06-01 07:33:03 - users stored in OUser class will not be imported because ArcadeDB has users only at server level. If you want to import such users into ArcadeDB server configuration, please run the importer with the option -s <securityFileDirectory>
2023-06-01 07:33:03 - you can find your new ArcadeDB database in './databases/Imported'
2023-06-01 07:33:03 - Status update: parsed 0 (0/sec) - 0 documents (0/sec) - 7,467 vertices (1,866/sec) - 14,908 edges (3,727/sec) - 0 skipped edges - 0 linked edges (0/sec - 0%)
2023-06-01 07:33:03 2023-06-01 12:33:00.299 INFO  [Importer] <ArcadeDB_0> Checking schema...WARNING: An illegal reflective access operation has occurred
2023-06-01 07:33:03 WARNING: Illegal reflective access by org.codehaus.groovy.reflection.CachedClass (file:/home/arcadedb/lib/arcadedb-gremlin-23.3.1-SNAPSHOT.jar) to method java.lang.Object.finalize()
2023-06-01 07:33:03 WARNING: Please consider reporting this to the maintainers of org.codehaus.groovy.reflection.CachedClass
2023-06-01 07:33:03 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
2023-06-01 07:33:03 WARNING: All illegal access operations will be denied in a future release
2023-06-01 07:33:03 
2023-06-01 07:33:03 2023-06-01 12:33:03.805 INFO  [DefaultGraphManager] Graph [graph] was successfully configured via [./config/gremlin-server.properties].
2023-06-01 07:33:03 2023-06-01 12:33:03.805 INFO  [ServerGremlinExecutor] Initialized Gremlin thread pool.  Threads in pool named with pattern gremlin-*
2023-06-01 07:33:04 2023-06-01 12:33:03.811 INFO  [ServerGremlinExecutor] Initialized GremlinExecutor and preparing GremlinScriptEngines instances.
2023-06-01 07:33:04 2023-06-01 12:33:04.286 INFO  [ServerGremlinExecutor] Initialized gremlin-groovy GremlinScriptEngine and registered metrics
2023-06-01 07:33:04 2023-06-01 12:33:04.289 INFO  [ServerGremlinExecutor] A GraphTraversalSource is now bound to [g] with graphtraversalsource[arcadegraph[graph], standard]
2023-06-01 07:33:04 2023-06-01 12:33:04.289 INFO  [ServerGremlinExecutor] A GraphTraversalSource is now bound to [graph] with graphtraversalsource[arcadegraph[graph], standard]
2023-06-01 07:33:04 2023-06-01 12:33:04.303 INFO  [OpLoader] Adding the standard OpProcessor.
2023-06-01 07:33:04 2023-06-01 12:33:04.449 INFO  [OpLoader] Adding the session OpProcessor.
2023-06-01 07:33:04 2023-06-01 12:33:04.450 INFO  [OpLoader] Adding the traversal OpProcessor.
2023-06-01 07:33:04 2023-06-01 12:33:04.472 INFO  [GremlinServer] Executing start up LifeCycleHook
2023-06-01 07:33:04 2023-06-01 12:33:04.482 INFO  [GremlinServer] Executed once at startup of Gremlin Server.
2023-06-01 07:33:04 2023-06-01 12:33:04.486 INFO  [GremlinServer] idleConnectionTimeout was set to 0 which resolves to 0 seconds when configuring this value - this feature will be disabled
2023-06-01 07:33:04 2023-06-01 12:33:04.486 INFO  [GremlinServer] keepAliveInterval was set to 0 which resolves to 0 seconds when configuring this value - this feature will be disabled
2023-06-01 07:33:04 2023-06-01 12:33:04.507 INFO  [AbstractChannelizer] Configured application/vnd.graphbinary-v1.0 with org.apache.tinkerpop.gremlin.driver.ser.GraphBinaryMessageSerializerV1
2023-06-01 07:33:04 2023-06-01 12:33:04.522 INFO  [AbstractChannelizer] Configured application/vnd.gremlin-v3.0+json with org.apache.tinkerpop.gremlin.driver.ser.GraphSONMessageSerializerV3d0
2023-06-01 07:33:04 2023-06-01 12:33:04.523 INFO  [AbstractChannelizer] Configured application/json with org.apache.tinkerpop.gremlin.driver.ser.GraphSONMessageSerializerV3d0
2023-06-01 07:33:04 2023-06-01 12:33:04.526 INFO  [AbstractChannelizer] Configured application/vnd.gremlin-v2.0+json with org.apache.tinkerpop.gremlin.driver.ser.GraphSONMessageSerializerV2d0
2023-06-01 07:33:04 2023-06-01 12:33:04.526 INFO  [AbstractChannelizer] application/json already has org.apache.tinkerpop.gremlin.driver.ser.GraphSONMessageSerializerV3d0 configured - it will not be replaced by org.apache.tinkerpop.gremlin.driver.ser.GraphSONMessageSerializerV2d0, change order of serialization configuration if this is not desired.
2023-06-01 07:33:04 2023-06-01 12:33:04.559 INFO  [ArcadeDBServer] <ArcadeDB_0> - GremlinServer plugin startedException in thread "main" com.arcadedb.exception.DatabaseOperationException: Found active instance of database './databases/graph' already in use
2023-06-01 07:33:04 at com.arcadedb.database.DatabaseFactory.checkForActiveInstance(DatabaseFactory.java:139)
2023-06-01 07:33:04 at com.arcadedb.database.DatabaseFactory.open(DatabaseFactory.java:72)
2023-06-01 07:33:04 at com.arcadedb.server.ArcadeDBServer.getDatabase(ArcadeDBServer.java:399)
2023-06-01 07:33:04 at com.arcadedb.server.ArcadeDBServer.getDatabase(ArcadeDBServer.java:283)
2023-06-01 07:33:04 at com.arcadedb.server.ArcadeDBServer.loadDatabases(ArcadeDBServer.java:421)
2023-06-01 07:33:04 at com.arcadedb.server.ArcadeDBServer.start(ArcadeDBServer.java:144)
2023-06-01 07:33:04 at com.arcadedb.server.ArcadeDBServer.main(ArcadeDBServer.java:92)
2023-06-01 07:33:04 
2023-06-01 07:33:04 2023-06-01 12:33:04.563 INFO  [GremlinServer] Gremlin Server configured with worker thread pool of 1, gremlin pool of 20 and boss thread pool of 1.

Docker Run Command

The only difference I see between the front-page and the Gremlin-API docs-section is adding -p 8182:8182 and appending JAVA_OPTS.value with -Darcadedb.server.plugins=GremlinServer:com.arcadedb.server.gremlin.GremlinServerPlugin. Since --rm just means cleanup. And -d just means detached-mode.

docker run -d --name arcadeDb -p 2424:2424 -p 2480:2480 -p 8182:8182 
       --env JAVA_OPTS="-Darcadedb.server.rootPassword=playwithdata 
          -Darcadedb.server.defaultDatabases=Imported[root]{import:https://github.com/ArcadeData/arcadedb-datasets/raw/main/orientdb/OpenBeer.gz} 
          -Darcadedb.server.plugins=GremlinServer:com.arcadedb.server.gremlin.GremlinServerPlugin " 
          arcadedata/arcadedb:latest
0

There are 0 best solutions below