[
https://issues.apache.org/jira/browse/TINKERPOP3-734?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14602061#comment-14602061
]
stephen mallette commented on TINKERPOP3-734:
---------------------------------------------
I'm making some changes here based on your thoughts. The work is being done in
a branch until I'm comfortable with it. See:
https://github.com/apache/incubator-tinkerpop/tree/resultset-refactor
As it stands, I've changed {{all()}} on {{ResultSet}} - it now gets a callback
when all the results have been streamed back to the client. No more polling
there.
This change had the nice side-effect of bubbling up better errors to the client
for certain situations. Got rid of some very generic exceptions in favor of
some very succinct ones.
I'll look at {{one}} and other methods later.
> Driver uses polling tying up threads
> ------------------------------------
>
> Key: TINKERPOP3-734
> URL: https://issues.apache.org/jira/browse/TINKERPOP3-734
> Project: TinkerPop 3
> Issue Type: Improvement
> Components: driver
> Reporter: Adrian Gonzalez
> Assignee: stephen mallette
>
> The driver uses polling to return ResultSet.one() and for the
> CompletableFuture in ResultSet.all().
> Ideally polling should not be necessary when using Netty and
> CompletableFutures. This causes problems when trying to use it with a
> framework like [vert.x|http://vertx.io/].
> Could you consider an approach more similar to the Cassandra driver from
> datastax?
> https://github.com/datastax/java-driver
> See
> [Session.executeAsync()|https://github.com/datastax/java-driver/blob/2.1/driver-core/src/main/java/com/datastax/driver/core/Session.java#L166]
> which is equivalent to gremlin-driver Client.submitAsync().
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)