[ 
https://issues.apache.org/jira/browse/HBASE-4893?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Mubarak Seyed updated HBASE-4893:
---------------------------------

    Description: 
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}

  was:
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}

    
> 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