[
https://issues.apache.org/jira/browse/HBASE-6956?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13507634#comment-13507634
]
Micah Whitacre commented on HBASE-6956:
---------------------------------------
Igor, can you explain how you are detecting the connection is closed? Your
isClosed() method only checks to see if the HTable boolean value has been
closed which is independent of the HConnection.
Additionally why do you avoid trying to close the HConnection by informing the
HConnectionManager that the connection is stale?
The last question is how does this solve the problem of evicting
HTableInterface instances from the pool that are no longer valid? Altering the
HTableInterfaceFactory + HTableInterface implementation only solves the problem
of new instances needed to be created.
> Do not return back to HTablePool closed connections
> ---------------------------------------------------
>
> Key: HBASE-6956
> URL: https://issues.apache.org/jira/browse/HBASE-6956
> Project: HBase
> Issue Type: Bug
> Components: Client
> Affects Versions: 0.90.6
> Reporter: Igor Yurinok
>
> Sometimes we see a lot of Exception about closed connections:
> {code}
>
> org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation@553fd068
> closed
> org.apache.hadoop.hbase.client.ClosedConnectionException:
> org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation@553fd068
> closed
> {code}
> After investigation we assumed that it occurs because closed connection
> returns back into HTablePool.
> For our opinion best solution is check whether the table is closed in method
> HTablePool.putTable and if true don't add it into the queue and release such
> HTableInterface.
> But unfortunatly right now there are no access to HTable#closed field through
> HTableInterface
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira