[
https://issues.apache.org/jira/browse/HBASE-4175?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13083141#comment-13083141
]
Ted Yu commented on HBASE-4175:
-------------------------------
>From FSTableDescriptors.get():
{code}
if (htd == null) {
// More likely is above will throw a FileNotFoundException
throw new TableExistsException("No descriptor for " + tablename);
}
{code}
So we can retrieve the same descriptor if it does exist.
I think createTableDescriptor() should return an enum which contains the
following:
FAIL_DUE_TO_IOE, FAIL_ALREADY_EXISTS, SUCCESS
> 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