[
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)