[ 
https://issues.apache.org/jira/browse/HBASE-4893?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13159613#comment-13159613
 ] 

Ted Yu commented on HBASE-4893:
-------------------------------

HConnectionManager.deleteStaleConnection() can be utilized in the above 
proposal.
                
> HConnectionImplementation closed-but-not-deleted, need a way to find the 
> state of connection
> --------------------------------------------------------------------------------------------
>
>                 Key: HBASE-4893
>                 URL: https://issues.apache.org/jira/browse/HBASE-4893
>             Project: HBase
>          Issue Type: Bug
>          Components: client
>    Affects Versions: 0.90.1, 0.90.2, 0.90.3, 0.90.4
>         Environment: Linux 2.6, HBase-0.90.1
>            Reporter: Mubarak Seyed
>              Labels: hbase-client
>             Fix For: 0.90.5
>
>
> In abort() of HConnectionManager$HConnectionImplementation, instance of 
> HConnectionImplementation is marked as this.closed=true.
> There is no way for client application to check the hbase client connection 
> whether it is still opened/good (this.closed=false) or not. We need a method 
> to validate the state of a connection like isClosed().
> {code}
> public boolean isClosed(){
>    return this.closed;
> } 
> {code}
> Once the connection is closed and it should get deleted. Client application 
> still gets a connection from HConnectionManager.getConnection(Configuration) 
> and tries to make a RPC call to RS, since connection is already closed, 
> HConnectionImplementation.getRegionServerWithRetries throws 
> RetriesExhaustedException with error message
> {code}
> Caused by: org.apache.hadoop.hbase.client.RetriesExhaustedException: Trying 
> to contact region server null for region , row 
> 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxx', but failed after 10 attempts.
> Exceptions:
> java.io.IOException: 
> org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation@7eab48a7
>  closed
> java.io.IOException: 
> org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation@7eab48a7
>  closed
> java.io.IOException: 
> org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation@7eab48a7
>  closed
> java.io.IOException: 
> org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation@7eab48a7
>  closed
> java.io.IOException: 
> org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation@7eab48a7
>  closed
> java.io.IOException: 
> org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation@7eab48a7
>  closed
> java.io.IOException: 
> org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation@7eab48a7
>  closed
> java.io.IOException: 
> org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation@7eab48a7
>  closed
> java.io.IOException: 
> org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation@7eab48a7
>  closed
> java.io.IOException: 
> org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation@7eab48a7
>  closed
>       at 
> org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.getRegionServerWithRetries(HConnectionManager.java:1008)
>       at org.apache.hadoop.hbase.client.HTable.get(HTable.java:546)
> {code}

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

        

Reply via email to