From dev-return-78031-archive-asf-public=cust-asf.ponee.io@hbase.apache.org Mon Feb 24 06:37:17 2020 Return-Path: X-Original-To: archive-asf-public@cust-asf.ponee.io Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [207.244.88.153]) by mx-eu-01.ponee.io (Postfix) with SMTP id 31A3A1802C7 for ; Mon, 24 Feb 2020 07:37:17 +0100 (CET) Received: (qmail 61969 invoked by uid 500); 24 Feb 2020 06:37:16 -0000 Mailing-List: contact dev-help@hbase.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@hbase.apache.org Delivered-To: mailing list dev@hbase.apache.org Received: (qmail 61957 invoked by uid 99); 24 Feb 2020 06:37:16 -0000 Received: from Unknown (HELO mailrelay1-lw-us.apache.org) (10.10.3.159) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 24 Feb 2020 06:37:16 +0000 Received: from mail-lj1-f169.google.com (mail-lj1-f169.google.com [209.85.208.169]) by mailrelay1-lw-us.apache.org (ASF Mail Server at mailrelay1-lw-us.apache.org) with ESMTPSA id 9FDB42234 for ; Mon, 24 Feb 2020 06:37:15 +0000 (UTC) Received: by mail-lj1-f169.google.com with SMTP id q23so8759441ljm.4 for ; Sun, 23 Feb 2020 22:37:15 -0800 (PST) X-Gm-Message-State: APjAAAWpHvIYbyq2dWNVyfZ2eyRoE6ex8+UdRgk/1a2L7zVOYMNWZe7V ihp9DJZ1OgNnC6U9KkGLJpEjO1V0lh9ZY5FFCSs= X-Google-Smtp-Source: APXvYqz6hFhOBkSWqkqZKS0OvGQCgJseLVdFci+6xp98EepeamW9UIODvAxhfKmmmfE5/c6CUjEHS9ieShIOLXeUwb0= X-Received: by 2002:a2e:9596:: with SMTP id w22mr27787106ljh.21.1582526234032; Sun, 23 Feb 2020 22:37:14 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: Bharath Vissapragada Date: Sun, 23 Feb 2020 22:37:03 -0800 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [VOTE] Merge "HBASE-22514 Move rsgroup feature into core of HBase" back to master To: dev@hbase.apache.org Content-Type: multipart/alternative; boundary="000000000000070069059f4c9a58" --000000000000070069059f4c9a58 Content-Type: text/plain; charset="UTF-8" +1 (non-binding). I've gone through the doc and it generally made sense to me. Mind adding the doc to dev-support/design-docs too? On Sat, Feb 22, 2020 at 5:32 AM Duo Zhang wrote: > The issue aims to make rs group the first class citizen in HBase, where the > feature can be enabled through a simple flag, not a complicated > coprocessor, and also we can manage it through the Admin interface, while > in the old time the only public way is to through the shell command, as the > coprocessor client is marked as IA.Private. > > This is a simple design doc > > > > https://docs.google.com/document/d/1SuodZ_uDQQQVJyryRxqp033cgz2aQPJmjIREbbbmB3c/edit?usp=sharing > > The PR for all the changes > > https://github.com/apache/hbase/pull/1165 > > And let me copy the release note here > > Moved rs group feature into core. Use this flag to enable or disable it. > > The coprocessor org.apache.hadoop.hbase.rsgroup.RSGroupAdminEndpoint is > deprected, but for compatible, if you want the pre 3.0.0 hbase client/shell > to communicate with the new hbase cluster, you still need to add this > coprocessor to master. And if this coprocessor is specified, the above flag > will be set to true automatically to enable rs group feature. > > These methods are added to the Admin/AsyncAdmin interface for managing rs > groups. See the javadoc of these methods for more details. > > void addRSGroup(String groupName) throws IOException; > RSGroupInfo getRSGroup(String groupName) throws IOException; > RSGroupInfo getRSGroup(Address hostPort) throws IOException; > RSGroupInfo getRSGroup(TableName tableName) throws IOException; > List listRSGroups() throws IOException; > List listTablesInRSGroup(String groupName) throws IOException; > Pair, List> > getConfiguredNamespacesAndTablesInRSGroup(String groupName) throws > IOException; > void removeRSGroup(String groupName) throws IOException; > void removeServersFromRSGroup(Set
servers) throws IOException; > void moveServersToRSGroup(Set
servers, String targetGroup) > throws IOException; > void setRSGroup(Set tables, String groupName) throws > IOException; > boolean balanceRSGroup(String groupName) throws IOException; > > The shell commands for rs group are not changed. > > The main difference on the implementation is that, now the rs group for a > table is stored in TableDescriptor, instead of in RSGroupInfo, so the > getTables method of RSGroupInfo has been deprecated. And if you use the > above Admin methods to get the RSGroupInfo, its getTables method will > always return empty. Of course the behavior for the old > RSGroupAdminEndpoint is not changed, we will fill the tables field of the > RSGroupInfo before returning, to make it compatible with old hbase > client/shell. > > When upgrading, the migration between the RSGroupInfo and TableDescriptor > will be done automatically. It will take sometime, but it is fine to > restart master in the middle, the migration will continue after restart. > > The vote will open for at least 72 hours. > > Please vote > > [+1] Agree > [-1] Disagree > > Thanks. > --000000000000070069059f4c9a58--