You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tinkerpop.apache.org by "Yang Xia (Jira)" <ji...@apache.org> on 2023/09/27 20:02:00 UTC

[jira] [Updated] (TINKERPOP-2913) Ensure that if tx.commit() is called remotely it does not hang for graphs without transactions

     [ https://issues.apache.org/jira/browse/TINKERPOP-2913?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Yang Xia updated TINKERPOP-2913:
--------------------------------
    Priority: Critical  (was: Minor)

> Ensure that if tx.commit() is called remotely it does not hang for graphs without transactions
> ----------------------------------------------------------------------------------------------
>
>                 Key: TINKERPOP-2913
>                 URL: https://issues.apache.org/jira/browse/TINKERPOP-2913
>             Project: TinkerPop
>          Issue Type: Bug
>          Components: dotnet, go, javascript, python
>    Affects Versions: 3.5.5
>            Reporter: Stephen Mallette
>            Priority: Critical
>
> Javascript has been reported to hang if you do a {{tx.commit()}} and the remote graph does not support transactions (i.e. TinkerGraph). It should return an exception similar to how Java does:
> {code}
> gremlin> tx.commit()
> Transaction commit for Optional.empty failed
> Type ':help' or ':h' for help.
> Display stack trace? [yN]y
> ....
> Caused by: java.util.concurrent.CompletionException: org.apache.tinkerpop.gremlin.driver.exception.ResponseException: Graph does not support transactions
> 	at java.util.concurrent.CompletableFuture.reportJoin(CompletableFuture.java:375)
> 	at java.util.concurrent.CompletableFuture.join(CompletableFuture.java:1947)
> 	at org.apache.tinkerpop.gremlin.driver.ResultSet.one(ResultSet.java:123)
> 	at org.apache.tinkerpop.gremlin.driver.ResultSet$1.hasNext(ResultSet.java:175)
> 	at org.apache.tinkerpop.gremlin.driver.remote.DriverRemoteTraversal$TraverserIterator.hasNext(DriverRemoteTraversal.java:110)
> 	at org.apache.tinkerpop.gremlin.driver.remote.DriverRemoteTraversal.hasNext(DriverRemoteTraversal.java:70)
> 	at org.apache.tinkerpop.gremlin.driver.remote.DriverRemoteTransaction.closeRemoteTransaction(DriverRemoteTransaction.java:95)
> 	... 70 more
> Caused by: org.apache.tinkerpop.gremlin.driver.exception.ResponseException: Graph does not support transactions
> 	at org.apache.tinkerpop.gremlin.driver.Handler$GremlinResponseHandler.channelRead0(Handler.java:245)
> 	at org.apache.tinkerpop.gremlin.driver.Handler$GremlinResponseHandler.channelRead0(Handler.java:200)
> 	at ....
> {code}
> Check all non-java drivers and provide tests to enforce the appropriate behavior. It would be worth examining behavior of all {{tx}} methods like {{rollback()}} and {{close()}} as well. can this be somehow part of the gherkin test suite rather than one-off tests? 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)