[ 
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)

Reply via email to