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

Parth Chandra commented on DRILL-4313:
--------------------------------------

Looks like the C++ client does not do a good job of picking a random drillbit. 
The implementation (incorrectly) resets the random seed so the random number 
generator repeats the random number if many connections are made at the same 
time. Also, even with that fixed, it appears that with a small number of 
driillbits in the cluster, one can get a non-uniform distribution.
Experimenting with other methods, it looks like using a random_shuffle (similar 
to the Java DrillClient) gives a much better distribution.
Submitting a patch with this fixed.

> C++ client should manage load balance of queries
> ------------------------------------------------
>
>                 Key: DRILL-4313
>                 URL: https://issues.apache.org/jira/browse/DRILL-4313
>             Project: Apache Drill
>          Issue Type: Improvement
>            Reporter: Parth Chandra
>
> The current C++ client handles multiple parallel queries over the same 
> connection, but that creates a bottleneck as the queries get sent to the same 
> drillbit.
> The client can manage this more effectively by choosing from a configurable 
> pool of connections and round robin queries to them.



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

Reply via email to