[ 
https://issues.apache.org/jira/browse/TINKERPOP-1125?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15134029#comment-15134029
 ] 

stephen mallette commented on TINKERPOP-1125:
---------------------------------------------

I don't see your fork in github (unless you forked it to a private repository). 
 Did you follow these steps?

https://help.github.com/articles/fork-a-repo/

You can't push a branch directly to github for a few reasons, not the least of 
which is that apache/incubator-tinkerpop.git is a mirror from apache git and 
not the canonical source.  You should fork the github mirror, commit your 
changes there, and then issue a your pull request.  Sorry if i'm stating 
something really obvious and you know all that...i'm just guessing at what your 
problem might be.

I'd much prefer to receive your change as a pull request as you did the work of 
debugging and deserve the credit. 

> RoundRobin load balancing always uses the second Host when size = 2
> -------------------------------------------------------------------
>
>                 Key: TINKERPOP-1125
>                 URL: https://issues.apache.org/jira/browse/TINKERPOP-1125
>             Project: TinkerPop
>          Issue Type: Bug
>          Components: driver
>    Affects Versions: 3.1.0-incubating
>            Reporter: Kieran Sherlock
>            Assignee: stephen mallette
>             Fix For: 3.1.2-incubating
>
>
> Bring up two gremlin-server
> Create a Cluster with these two servers, by default 
> LoadBalancingStrategy.RoundRobin() is used.
> Create a client and make queries.
> Notice that all requests go to the second server.
> this.cluster.loadBalancingStrategy().select(msg).next() is called twice in 
> Client.chooseConnection(), so always the second Host is used.
> The following seems to work
> {code:diff}
> diff --git 
> a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/Client.java
>  
> b/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/Client.java
> index 8c80b8a..17c9a99 100644
> --- 
> a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/Client.java
> +++ 
> b/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/Client.java
> @@ -341,7 +341,7 @@ public abstract class Client {
>              final Iterator<Host> possibleHosts = 
> this.cluster.loadBalancingStrategy().select(msg);
>              if (!possibleHosts.hasNext()) throw new TimeoutException("Timed 
> out waiting for an available host.");
> -            final Host bestHost = 
> this.cluster.loadBalancingStrategy().select(msg).next();
> +            final Host bestHost = possibleHosts.next();
>              final ConnectionPool pool = hostConnectionPools.get(bestHost);
>              return 
> pool.borrowConnection(cluster.connectionPoolSettings().maxWaitForConnection, 
> TimeUnit.MILLISECONDS);
>          }
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to