[
https://issues.apache.org/jira/browse/HBASE-7369?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13542703#comment-13542703
]
chunhui shen commented on HBASE-7369:
-------------------------------------
Once closed is set true, we won't reuse the HConnection again now.
Therefore, like
HConnectionImplementation#locateRegion,HConnectionImplementation#createMasterWithRetries,
will throw exception directly because closed=true.
[~bbaugher]
what about calling close() instead of
{code}if (managed) HConnectionManager.deleteStaleConnection(this);{code}
and change a little in close()
{code}
@Override
public void close() {
if (managed) {
if(abortRequested){
HConnectionManager.deleteStaleConnection(this);
}
else{
HConnectionManager.deleteConnection(this, stopProxy, false);
}
} else {
close(true);
}
}
{code}
By the way, there's another problem. Although a stale connecion is removed,
the existed HTable whose hconnection refers to this stale connection couldn't
work any more until we restart the client or application handle this case. I
think it's better reset the hconnection in HTable if it is already closed. e.g.
check whether connection is closed when using connection in HTable
> HConnectionManager should remove aborted connections
> ----------------------------------------------------
>
> Key: HBASE-7369
> URL: https://issues.apache.org/jira/browse/HBASE-7369
> Project: HBase
> Issue Type: Improvement
> Components: Client
> Affects Versions: 0.94.3
> Reporter: Bryan Baugher
> Priority: Minor
> Attachments: patch2.diff, patch3.diff, patch.diff
>
>
> When an HConnection is abort()'ed (i.e. if numerous services are lost) the
> connection becomes unusable. HConnectionManager cache of HConnections
> currently does not have any logic around removing aborted connections
> automatically. Currently it is up to the consumer to do so using
> HConnectionManager.deleteStaleConnection(HConnection).
--
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