You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Xiang Li (JIRA)" <ji...@apache.org> on 2019/02/10 06:13:00 UTC

[jira] [Comment Edited] (HBASE-21866) Move the table to null rsgroup when creating a existing table

    [ https://issues.apache.org/jira/browse/HBASE-21866?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16764313#comment-16764313 ] 

Xiang Li edited comment on HBASE-21866 at 2/10/19 6:12 AM:
-----------------------------------------------------------

The following code might be the cause:
{code:title=hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/CreateTableProcedure.java|borderStyle=solid}
  @Override
  protected void rollbackState(final MasterProcedureEnv env, final CreateTableState state)
      throws IOException {
    if (state == CreateTableState.CREATE_TABLE_PRE_OPERATION) {
      // nothing to rollback, pre-create is just table-state checks.
      // We can fail if the table does exist or the descriptor is malformed.
      // TODO: coprocessor rollback semantic is still undefined.
      DeleteTableProcedure.deleteTableStates(env, getTableName());

      final MasterCoprocessorHost cpHost = env.getMasterCoprocessorHost();
      if (cpHost != null) {
        cpHost.postDeleteTable(getTableName());
      }

      releaseSyncLatch();
      return;
    }
{code}
The postDeleteTable() calls RSGroupAdminEndpoint#postDeleteTable() to move the table to null rsgroup.


was (Author: water):
The following code might be the cause:
{code:title=hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/CreateTableProcedure.java|borderStyle=solid}
  @Override
  protected void rollbackState(final MasterProcedureEnv env, final CreateTableState state)
      throws IOException {
    if (state == CreateTableState.CREATE_TABLE_PRE_OPERATION) {
      // nothing to rollback, pre-create is just table-state checks.
      // We can fail if the table does exist or the descriptor is malformed.
      // TODO: coprocessor rollback semantic is still undefined.
      DeleteTableProcedure.deleteTableStates(env, getTableName());

      final MasterCoprocessorHost cpHost = env.getMasterCoprocessorHost();
      if (cpHost != null) {
        cpHost.postDeleteTable(getTableName());
      }

      releaseSyncLatch();
      return;
    }
{code}

> Move the table to null rsgroup when creating a existing table
> -------------------------------------------------------------
>
>                 Key: HBASE-21866
>                 URL: https://issues.apache.org/jira/browse/HBASE-21866
>             Project: HBase
>          Issue Type: Bug
>          Components: rsgroup
>            Reporter: Xiang Li
>            Assignee: Xiang Li
>            Priority: Major
>
> By using the latest HBase master branch, the bug could be re-produced as:
>  # Create 't1', 'cf1'
>  # Create 't1', 'cf1' again
> The following message is logged into HMaster's log:
> {code}
> INFO  [PEWorker-12] rsgroup.RSGroupAdminServer: Moving table t1 to RSGroup null
> {code}
> This is a wrong action that we should keep t1 as where it originally is.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)