JanusGraph / JanusGraph/janusgraph
gremlin_python.driver.protocol.GremlinServerError: 500: Could not start new transaction
- Dominant language
- Java
- Stars
- 5.8k
- Forks
- 1.2k
- Avg merge
- 13h 53m
- Merged PRs (30d)
- 6
Description
When the slow query times out, gremlin-console will display Evaluation exceeded the configured 'evaluationTimeout' threshold of 30000 ms or evaluation was otherwise cancelled directly for request [g.V().count()]: null - try increasing the timeout with the :remote command, the python will display gremlin_python.driver.protocol.GremlinServerError: 500: Could not start new transaction.
Almost all subsequent operations will show that a new transaction cannot be started. However, such an exception mechanism will lead to the collapse of the graph database, because it is caused by user operations.
So how to change the configuration so that the operation between users will not be affected, or change the exception mechanism of the server.
Contributor guide
Research direction
Start by reproducing the timeout with gremlin-console and the Python client using the query shown in the report, then trace how the server handles the failed transaction and subsequent operations. Done means identifying a supported configuration or server behavior that prevents one user's timed-out operation from affecting later graph operations.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java, python
- Domain
- databases, distributed-systems
- Issue type
- Bug
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100