[ https://issues.apache.org/jira/browse/HBASE-21866?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16769546#comment-16769546 ]
Xiang Li commented on HBASE-21866: ---------------------------------- Hi [~xucang] I uploaded patch v003 to give a check by #hasException() before calling #getException(). But after I read the context, I think that might not be needed: CreateTableProcedure#executeFromState() has the following code: {code:java} case CREATE_TABLE_PRE_OPERATION: // Verify if we can create the table boolean exists = !prepareCreate(env); releaseSyncLatch(); if (exists) { assert isFailed() : "the delete should have an exception here"; return Flow.NO_MORE_STATE; } {code} The assert will fail if prepareCreate() returns false but does not call setFailure() in it. So when doing roll-back, setFailure() has been called before, and an Exception has been new-ed and set to exception. Or someone bypasses setFailure() and set state to FAILED directly... > Do not move the table to null rsgroup when creating an existing table > --------------------------------------------------------------------- > > Key: HBASE-21866 > URL: https://issues.apache.org/jira/browse/HBASE-21866 > Project: HBase > Issue Type: Bug > Components: proc-v2, rsgroup > Reporter: Xiang Li > Assignee: Xiang Li > Priority: Major > Attachments: HBASE-21866.master.000.patch, > HBASE-21866.master.001.patch, HBASE-21866.master.002.patch > > > By using the latest HBase master branch, the bug could be re-produced as: > # create 't1', 'cf1' > # create 't1', 'cf1' > 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 and instead, we should keep t1 as where it originally > is. -- This message was sent by Atlassian JIRA (v7.6.3#76005)