Sorabh Hamirwasia created DRILL-5098:
----------------------------------------
Summary: 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
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)