dh
JJanusGraph
•Created by dh on 8/9/2024 in #questions
Schema creation with groovy script does not work on inmemory setup
2 replies
JJanusGraph
•Created by dh on 7/29/2024 in #questions
Infinite recursion error when evaluating script on Inmemory setup
Hello all, in our usecase, we use a Cassandra backend for development and production, but use an inmemory setup for running integration tests. We run our tests from a python application, using Gremlin Python and JanusGraph Python. The issue we face when running the inmemory setup is that the following error is thrown when trying to submit a script to JanusGraph:
org.apache.tinkerpop.shaded.jackson.databind.JsonMappingException: Infinite recursion (StackOverflowError)
Some background configuration on how we run our setup can be found below (setup.yml).
The python script and groovy code we are submitting to JanusGraph (script.py).
Finally, I am attaching an 'error_logs.txt' file, where I put a few log/error statements from the JanusGraph container which might be relevant and could help pinpoint the issue.
For reference, we run an almost identical setup to this with cassandra, where we do not face any issues. Is there anything we are doing wrong?
2 replies
JJanusGraph
•Created by dh on 7/24/2024 in #questions
Incremental schema changes - Indices get stuck in 'Installed' state
Hi All, in our use-case the graph schema is changing over time and we have issues to incrementally add indices to the schema as we get error in the below scenario:
1. We create a graph with an initial schema and fill it with data.
2. We try adding a new index and cycling through the recommended steps in the documentation document here:
https://docs.janusgraph.org/schema/index-management/index-lifecycle/
(Installed -> Registered -> Enabled (through Reindex action).
3. Script execution times out while waiting for the index to become 'Registered'
The issue we face is instability in the index state transitions. Usually, we run into a problem where the graph gets stuck in the 'Installed' state. This behavior is flaky, as an index sometimes gets reindexed successfully, while an identical index might face an issue getting created in the future.
We use JanusGraph 1.0.0 with Cassandra 4.0.11 backend.
Below are code snippets we use to create the indices and cycle them through their states so that they are enabled. You might notice that the code is somewhat verbose, with repeated transaction commits and rollbacks. This is a result of experimentation and is what has currently brought us to a bit more of a stable state. However, we are also open to suggestions for improvement here as well :). Thank you in advance!
3 replies