[
https://issues.apache.org/jira/browse/HBASE-14296?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14710779#comment-14710779
]
Pankaj Kumar commented on HBASE-14296:
--------------------------------------
Client may try to get a table instance which doesn't exist, since we don't have
any validation for this so later on it will throw error like,
{code}
org.apache.hadoop.hbase.TableNotFoundException: Table 'test' was not found,
got: hbase:namespace.
at
org.apache.hadoop.hbase.client.ConnectionManager$HConnectionImplementation.locateRegionInMeta(ConnectionManager.java:1277)
at
org.apache.hadoop.hbase.client.ConnectionManager$HConnectionImplementation.locateRegion(ConnectionManager.java:1158)
{code}
Also in CellCreator(Configuration conf), suppose VisibilityController in not
configured as co-processor, then It may throw the same error while getting
scanner (DefaultVisibilityExpressionResolver's init())
I was thinking about adding a exist() before returning a table instance but it
will be a RPC call.
> ConnectionManager should validate the table existence before returning the
> table instance
> -----------------------------------------------------------------------------------------
>
> Key: HBASE-14296
> URL: https://issues.apache.org/jira/browse/HBASE-14296
> Project: HBase
> Issue Type: Bug
> Components: Client
> Affects Versions: 2.0.0, 1.2.0, 0.98.15
> Reporter: Pankaj Kumar
> Assignee: Pankaj Kumar
> Priority: Minor
>
> Table instance should be returned only when table exist.
> {code}
> public HTableInterface getTable(TableName tableName, ExecutorService
> pool) throws IOException {
> if (managed) {
> throw new NeedUnmanagedConnectionException();
> }
> return new HTable(tableName, this, tableConfig, rpcCallerFactory,
> rpcControllerFactory, pool);
> }
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)