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)