[
https://issues.apache.org/jira/browse/HBASE-6327?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
ShiXing updated HBASE-6327:
---------------------------
Description:
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.
was:
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.
> 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 ,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