[ https://issues.apache.org/jira/browse/HBASE-6327?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13406802#comment-13406802 ]
Zhihong Ted Yu commented on HBASE-6327: --------------------------------------- {code} } - hlog.closeAndDelete(); {code} If hlog isn't null, we still need to call closeAndDelete(). > HLog can be null when create table > ---------------------------------- > > Key: HBASE-6327 > URL: https://issues.apache.org/jira/browse/HBASE-6327 > Project: HBase > Issue Type: Bug > Reporter: ShiXing > Assignee: ShiXing > Attachments: HBASE-6327-trunk-V1.patch, createTableFailedMaster.log > > > As HBASE-4010 discussed, the HLog can be null. > We have meet createTable failed because the no use hlog. > When createHReagion, the HLog.LogSyncer is run sync(), in under layer it call > the DFSClient.DFSOutputStream.sync(). > Then the hlog.closeAndDelete() was called,firstly the HLog.close() will > interrupt the LogSyncer, and interrupt DFSClient.DFSOutputStream.sync().The > DFSClient.DFSOutputStream will store the exception and throw it when we > called DFSClient.close(). > The HLog.close() call the writer.close()/DFSClient.close() after interrupt > the LogSyncer. And there is no catch exception for the close(). > So the Master throw exception to the client. There is no need to throw this > exception, further, the hlog is no use. > Our cluster is 0.90, the logs is attached, after "closing hlog writer", there > is no log for the createTable(). > The trunk and 0.92, 0.94, we used just one hlog, and if the exception > happends, the client will got createTable failed, but indeed ,we expect all > the regions for the table can also be assigned. > I will give the patch for this later. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira