[
https://issues.apache.org/jira/browse/HBASE-4175?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13083149#comment-13083149
]
Ted Yu commented on HBASE-4175:
-------------------------------
For FAIL_DUE_TO_IOE, it would be useful to expose the IOE.
Tracing usage of createTableDescriptor(), I see that
MasterFileSystem.createTableDescriptor() doesn't declare to throw IOE. But the
only reference is MetaEditor.updateMetaWithNewRegionInfo() which throws
IOException:
{code}
masterServices.getMasterFileSystem().createTableDescriptor(hrfm.getTableDesc());
{code}
So we can still return boolean from FSUtils.createTableDescriptor() and let it
throw IOE.
> Fix FSUtils.createTableDescriptor()
> -----------------------------------
>
> Key: HBASE-4175
> URL: https://issues.apache.org/jira/browse/HBASE-4175
> Project: HBase
> Issue Type: Bug
> Affects Versions: 0.92.0
> Reporter: Ted Yu
> Assignee: ramkrishna.s.vasudevan
>
> Currently createTableDescriptor() doesn't return anything.
> The caller wouldn't know whether the descriptor is created or not. See
> exception handling:
> {code}
> } catch(IOException ioe) {
> LOG.info("IOException while trying to create tableInfo in HDFS", ioe);
> }
> {code}
> We should return a boolean.
> If the table descriptor exists already, maybe we should deserialize from hdfs
> and compare with htableDescriptor argument. If they differ, I am not sure
> what the proper action would be.
> Maybe we can add a boolean argument, force, to createTableDescriptor(). When
> force is true, existing table descriptor would be overwritten.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira