SebastianGruza commented on issue #3199: URL: https://github.com/apache/hugegraph/issues/3199#issuecomment-5621019972
The same loop also holds **read** paths, not only the commit. A thread dump from the POC deployment today (a Gremlin script doing `g.V(id)` whose id lives on the stalled store), trimmed: ``` at org.apache.hugegraph.store.client.NodeTxExecutor.retryingInvoke(NodeTxExecutor.java:404) at org.apache.hugegraph.store.client.NodeTxExecutor.limitOne(NodeTxExecutor.java:282) at org.apache.hugegraph.store.client.NodeTxSessionProxy.get(NodeTxSessionProxy.java:245) at org.apache.hugegraph.backend.store.hstore.HstoreSessionsImpl$HstoreSession.get(HstoreSessionsImpl.java:567) at org.apache.hugegraph.backend.store.hstore.HstoreTable.getById(HstoreTable.java:478) at org.apache.hugegraph.backend.tx.GraphTransaction.queryVerticesByIds(GraphTransaction.java:811) at org.apache.hugegraph.traversal.optimize.HugeGraphStep.vertices(HugeGraphStep.java:113) ... at org.apache.tinkerpop.gremlin.groovy.engine.GremlinExecutor.lambda$eval$0(GremlinExecutor.java:272) at org.apache.hugegraph.auth.HugeGraphAuthProxy$ContextTask.run(HugeGraphAuthProxy.java:1247) ``` `retryingInvoke` wraps everything that goes through `NodeTxSessionProxy` except the streaming scans: `get` (`limitOne`), `toList`, and `put`/`delete`/`merge` (`isAllTrue`). So a point lookup on a stalled partition hangs its thread for the same `11 × grpc.timeout.seconds + 38 s`, and here it is a Gremlin Server worker: the `evaluationTimeout` interrupt is swallowed exactly like the REST `request_timeout` one, and the Gremlin pool is smaller than the REST pool, so `/gremlin` stops answering first. The fix in the PR changes `retryingInvoke` itself, so it covers this path as well. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
