+1 (binding)
And I am +1 for 2.3.0 include this feature, too.

张铎(Duo Zhang) <[email protected]> 于2020年2月29日周六 上午10:51写道:

> I think we still need two more binding votes here...
>
> 张铎(Duo Zhang) <[email protected]> 于2020年2月29日周六 上午10:43写道:
>
> > Attached the design doc in HBASE-23911.
> >
> > Bharath Vissapragada <[email protected]> 于2020年2月24日周一 下午2:37写道:
> >
> >> +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 <[email protected]> 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
> >> >
> >> > <goog_2028452043>
> >> >
> >> >
> >>
> 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<RSGroupInfo> listRSGroups() throws IOException;
> >> >   List<TableName> listTablesInRSGroup(String groupName) throws
> >> IOException;
> >> >   Pair<List<String>, List<TableName>>
> >> > getConfiguredNamespacesAndTablesInRSGroup(String groupName) throws
> >> > IOException;
> >> >   void removeRSGroup(String groupName) throws IOException;
> >> >   void removeServersFromRSGroup(Set<Address> servers) throws
> >> IOException;
> >> >   void moveServersToRSGroup(Set<Address> servers, String targetGroup)
> >> > throws IOException;
> >> >   void setRSGroup(Set<TableName> 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.
> >> >
> >>
> >
>

Reply via email to