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 693BC200CA4 for ; Wed, 24 May 2017 00:00:12 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 67E1E160BC3; Tue, 23 May 2017 22:00:12 +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 8998C160BA4 for ; Wed, 24 May 2017 00:00:11 +0200 (CEST) Received: (qmail 43472 invoked by uid 500); 23 May 2017 22:00:10 -0000 Mailing-List: contact issues-help@hbase.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Delivered-To: mailing list issues@hbase.apache.org Received: (qmail 43461 invoked by uid 99); 23 May 2017 22:00:10 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd3-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 23 May 2017 22:00:10 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd3-us-west.apache.org (ASF Mail Server at spamd3-us-west.apache.org) with ESMTP id 3BD7518FCDD for ; Tue, 23 May 2017 22:00:10 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd3-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-eu.apache.org ([10.40.0.8]) by localhost (spamd3-us-west.apache.org [10.40.0.10]) (amavisd-new, port 10024) with ESMTP id CtpfCbHQp6-v for ; Tue, 23 May 2017 22:00:08 +0000 (UTC) Received: from mailrelay1-us-west.apache.org (mailrelay1-us-west.apache.org [209.188.14.139]) by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with ESMTP id CD8835FB80 for ; Tue, 23 May 2017 22:00:07 +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 F36BCE0D2B for ; Tue, 23 May 2017 22:00:06 +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 4A29221B5A for ; Tue, 23 May 2017 22:00:06 +0000 (UTC) Date: Tue, 23 May 2017 22:00:06 +0000 (UTC) From: "Andrew Purtell (JIRA)" To: issues@hbase.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Updated] (HBASE-18095) Provide an option for clients to find the server hosting META that does not involve the ZooKeeper client MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 archived-at: Tue, 23 May 2017 22:00:12 -0000 [ https://issues.apache.org/jira/browse/HBASE-18095?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Andrew Purtell updated HBASE-18095: ----------------------------------- Description: Clients are required to connect to ZooKeeper to find the location of the regionserver hosting the meta table region. Site configuration provides the client a list of ZK quorum peers and the client uses an embedded ZK client to query meta location. Timeouts and retry behavior of this embedded ZK client are managed orthogonally to HBase layer settings and in some cases the ZK cannot manage what in theory the HBase client can, i.e. fail fast upon outage or network partition. We should consider new configuration settings that provide a list of well-known master and backup master locations, and with this information the client can contact any of the master processes directly. Any master in either active or passive state will track meta location and respond to requests for it with its cached last known location. If this location is stale, the client can ask again with a flag set that requests the master refresh its location cache and return the up-to-date location. Every client interaction with the cluster thus uses only HBase RPC as transport, with appropriate settings applied to the connection. The configuration toggle that enables this alternative meta location lookup should be false by default. This removes the requirement that HBase clients embed the ZK client and contact the ZK service directly at the beginning of the connection lifecycle. This has several benefits. ZK service need not be exposed to clients, and their potential abuse, yet no benefit ZK provides the HBase server cluster is compromised. Normalizing HBase client and ZK client timeout settings and retry behavior - in some cases, impossible, i.e. for fail-fast - is no longer necessary. And, from [~ghelmling]: There is an additional complication here for token-based authentication. When a delegation token is used for SASL authentication, the client uses the cluster ID obtained from Zookeeper to select the token identifier to use. So there would also need to be some Zookeeper-less, unauthenticated way to obtain the cluster ID as well. was: Clients are required to connect to ZooKeeper to find the location of the regionserver hosting the meta table region. Site configuration provides the client a list of ZK quorum peers and the client uses an embedded ZK client to query meta location. Timeouts and retry behavior of this embedded ZK client are managed orthogonally to HBase layer settings and in some cases the ZK cannot manage what in theory the HBase client can, i.e. fail fast upon outage or network partition. We should consider new configuration settings that provide a list of well-known master and backup master locations, and with this information the client can contact any of the master processes directly. Any master in either active or passive state will track meta location and respond to requests for it with its cached last known location. If this location is stale, the client can ask again with a flag set that requests the master refresh its location cache and return the up-to-date location. Every client interaction with the cluster thus uses only HBase RPC as transport, with appropriate settings applied to the connection. The configuration toggle that enables this alternative meta location lookup should be false by default. This removes the requirement that HBase clients embed the ZK client and contact the ZK service directly at the beginning of the connection lifecycle. This has several benefits. ZK service need not be exposed to clients, and their potential abuse, yet no benefit ZK provides the HBase server cluster is compromised. Normalizing HBase client and ZK client timeout settings and retry behavior - in some cases, impossible, i.e. for fail-fast - is no longer necessary. > Provide an option for clients to find the server hosting META that does not involve the ZooKeeper client > -------------------------------------------------------------------------------------------------------- > > Key: HBASE-18095 > URL: https://issues.apache.org/jira/browse/HBASE-18095 > Project: HBase > Issue Type: New Feature > Components: Client > Reporter: Andrew Purtell > > Clients are required to connect to ZooKeeper to find the location of the regionserver hosting the meta table region. Site configuration provides the client a list of ZK quorum peers and the client uses an embedded ZK client to query meta location. Timeouts and retry behavior of this embedded ZK client are managed orthogonally to HBase layer settings and in some cases the ZK cannot manage what in theory the HBase client can, i.e. fail fast upon outage or network partition. > We should consider new configuration settings that provide a list of well-known master and backup master locations, and with this information the client can contact any of the master processes directly. Any master in either active or passive state will track meta location and respond to requests for it with its cached last known location. If this location is stale, the client can ask again with a flag set that requests the master refresh its location cache and return the up-to-date location. Every client interaction with the cluster thus uses only HBase RPC as transport, with appropriate settings applied to the connection. The configuration toggle that enables this alternative meta location lookup should be false by default. > This removes the requirement that HBase clients embed the ZK client and contact the ZK service directly at the beginning of the connection lifecycle. This has several benefits. ZK service need not be exposed to clients, and their potential abuse, yet no benefit ZK provides the HBase server cluster is compromised. Normalizing HBase client and ZK client timeout settings and retry behavior - in some cases, impossible, i.e. for fail-fast - is no longer necessary. > And, from [~ghelmling]: There is an additional complication here for token-based authentication. When a delegation token is used for SASL authentication, the client uses the cluster ID obtained from Zookeeper to select the token identifier to use. So there would also need to be some Zookeeper-less, unauthenticated way to obtain the cluster ID as well. -- This message was sent by Atlassian JIRA (v6.3.15#6346)