[ 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