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

ASF GitHub Bot commented on DRILL-5098:
---------------------------------------

GitHub user sohami opened a pull request:

    https://github.com/apache/drill/pull/679

    DRILL-5098: Improving fault tolerance for connection between client a…

    …nd foreman node.
    
             Note: Adding tries config option in connection string.
                   Improving fault tolerance in Drill client when trying to 
make first connection with foreman.
                   The client will try to connect to min(tries, num_drillbits) 
unique drillbits unless a successfull
                   connection is established.

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/sohami/drill DRILL-5098

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/drill/pull/679.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #679
    
----
commit d13c6cc91b72b91b481bd1d428ca77775490a8cf
Author: Sorabh Hamirwasia <[email protected]>
Date:   2016-12-01T22:58:00Z

    DRILL-5098: Improving fault tolerance for connection between client and 
foreman node.
             Note: Adding tries config option in connection string.
                   Improving fault tolerance in Drill client when trying to 
make first connection with foreman.
                   The client will try to connect to min(tries, num_drillbits) 
unique drillbits unless a successfull
                   connection is established.

----


> Improving fault tolerance for connection between client and foreman node.
> -------------------------------------------------------------------------
>
>                 Key: DRILL-5098
>                 URL: https://issues.apache.org/jira/browse/DRILL-5098
>             Project: Apache Drill
>          Issue Type: Improvement
>          Components: Client - JDBC
>            Reporter: Sorabh Hamirwasia
>            Assignee: Sorabh Hamirwasia
>              Labels: doc-impacting
>             Fix For: 1.10
>
>
> With DRILL-5015 we allowed support for specifying multiple Drillbits in 
> connection string and randomly choosing one out of it. Over time some of the 
> Drillbits specified in the connection string may die and the client can fail 
> to connect to Foreman node if random selection happens to be of dead Drillbit.
> Even if ZooKeeper is used for selecting a random Drillbit from the registered 
> one there is a small window when client selects one Drillbit and then that 
> Drillbit went down. The client will fail to connect to this Drillbit and 
> error out. 
> Instead if we try multiple Drillbits (configurable tries count through 
> connection string) then the probability of hitting this error window will 
> reduce in both the cases improving fault tolerance. During further 
> investigation it was also found that if there is Authentication failure then 
> we throw that error as generic RpcException. We need to improve that as well 
> to capture this case explicitly since in case of Auth failure we don't want 
> to try multiple Drillbits.



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

Reply via email to