ShiXing created HBASE-6327:
------------------------------

             Summary: 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: 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 ,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


Reply via email to