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

[jira] [Assigned] (TINKERPOP-2514) Java client driver requests with same request ids hang

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

Stephen Mallette reassigned TINKERPOP-2514:
-------------------------------------------

    Assignee: Stephen Mallette

> Java client driver requests with same request ids hang
> ------------------------------------------------------
>
>                 Key: TINKERPOP-2514
>                 URL: https://issues.apache.org/jira/browse/TINKERPOP-2514
>             Project: TinkerPop
>          Issue Type: Bug
>          Components: driver
>    Affects Versions: 3.4.10
>            Reporter: Saikiran Boga
>            Assignee: Stephen Mallette
>            Priority: Major
>
> Reproducer:
>  
> {code:java}
> // submit query1
> Future<?> query1_result = client.submitAsync(<query1 that takes 10s>, RequestOptions.build().overrideRequestId(UNIQUE_UUID_1).create());
> // Add buffer wait to ensure server gets time to start query1 and submit query2
> Thread.sleep(100);
> try {
>   ResultSet query2_resultSet = this.client.submit(<query2 that takes 2s>, RequestOptions.build().overrideRequestId(UNIQUE_UUID_1).create());
>   query2_resultSet.all().get();
> } catch(Exception ex) {
>  // ignore
> }
> // This never completes as the ResultSet tracked by driver at connection is 
> // overridden when we submit the second query with same request id.
> // The ResultSet of the first query is orphaned and not updated, leaving the get() // to wait forever.
> query1_result.get();
> {code}
>  
> I think the driver should reject the query when submitting the same request to prevent this from happening.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)