Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 21BC8200C57 for ; Fri, 31 Mar 2017 23:14:46 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 206EE160B80; Fri, 31 Mar 2017 21:14:46 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 68A1E160B7C for ; Fri, 31 Mar 2017 23:14:45 +0200 (CEST) Received: (qmail 2498 invoked by uid 500); 31 Mar 2017 21:14:44 -0000 Mailing-List: contact issues-help@drill.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@drill.apache.org Delivered-To: mailing list issues@drill.apache.org Received: (qmail 2489 invoked by uid 99); 31 Mar 2017 21:14:44 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd2-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 31 Mar 2017 21:14:44 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd2-us-west.apache.org (ASF Mail Server at spamd2-us-west.apache.org) with ESMTP id 25EAF1A06FA for ; Fri, 31 Mar 2017 21:14:44 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd2-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -99.202 X-Spam-Level: X-Spam-Status: No, score=-99.202 tagged_above=-999 required=6.31 tests=[KAM_ASCII_DIVIDERS=0.8, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001, USER_IN_WHITELIST=-100] autolearn=disabled Received: from mx1-lw-us.apache.org ([10.40.0.8]) by localhost (spamd2-us-west.apache.org [10.40.0.9]) (amavisd-new, port 10024) with ESMTP id FL6u1d0O8KSH for ; Fri, 31 Mar 2017 21:14:43 +0000 (UTC) Received: from mailrelay1-us-west.apache.org (mailrelay1-us-west.apache.org [209.188.14.139]) by mx1-lw-us.apache.org (ASF Mail Server at mx1-lw-us.apache.org) with ESMTP id 27D685FC81 for ; Fri, 31 Mar 2017 21:14:43 +0000 (UTC) Received: from jira-lw-us.apache.org (unknown [207.244.88.139]) by mailrelay1-us-west.apache.org (ASF Mail Server at mailrelay1-us-west.apache.org) with ESMTP id 97EE2E0959 for ; Fri, 31 Mar 2017 21:14:42 +0000 (UTC) Received: from jira-lw-us.apache.org (localhost [127.0.0.1]) by jira-lw-us.apache.org (ASF Mail Server at jira-lw-us.apache.org) with ESMTP id AE85921DDB for ; Fri, 31 Mar 2017 21:14:41 +0000 (UTC) Date: Fri, 31 Mar 2017 21:14:41 +0000 (UTC) From: "Chun Chang (JIRA)" To: issues@drill.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Closed] (DRILL-5098) Improving fault tolerance for connection between client and foreman node. MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 archived-at: Fri, 31 Mar 2017 21:14:46 -0000 [ https://issues.apache.org/jira/browse/DRILL-5098?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Chun Chang closed DRILL-5098. ----------------------------- Verified with manual testing. Automation framework is not suited for this type of test. And we have extensive unit tests coverage for this feature. > 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, ready-to-commit > Fix For: 1.10.0 > > > 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. > Connection string example with new parameter: > jdbc:drill:drillbit=[:][,[:]...;tries=5 -- This message was sent by Atlassian JIRA (v6.3.15#6346)