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.4, 0.90.3, 0.90.2, 0.90.1
         Environment: Linux 2.6, HBase-0.90.1
            Reporter: Mubarak Seyed
             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 is not 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