With the recent doc additions I'm +1 On Mon, Feb 24, 2020, 08:37 Sean Busbey <[email protected]> wrote:
> I'm currently -0. I left feedback on the merge PR with specifics. > > On Sat, Feb 22, 2020, 07:32 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. >> >
