[
https://issues.apache.org/jira/browse/HBASE-7685?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13566028#comment-13566028
]
Hadoop QA commented on HBASE-7685:
----------------------------------
{color:red}-1 overall{color}. Here are the results of testing the latest
attachment
http://issues.apache.org/jira/secure/attachment/12566892/HBASE-7685-0.94.txt
against trunk revision .
{color:green}+1 @author{color}. The patch does not contain any @author
tags.
{color:red}-1 tests included{color}. The patch doesn't appear to include
any new or modified tests.
Please justify why no new tests are needed for this
patch.
Also please list what manual steps were performed to
verify this patch.
{color:red}-1 patch{color}. The patch command could not apply the patch.
Console output:
https://builds.apache.org/job/PreCommit-HBASE-Build/4244//console
This message is automatically generated.
> Closing socket connection can't be removed from SecureClient
> ------------------------------------------------------------
>
> Key: HBASE-7685
> URL: https://issues.apache.org/jira/browse/HBASE-7685
> Project: HBase
> Issue Type: Bug
> Components: security
> Affects Versions: 0.94.3
> Reporter: cuijianwei
> Assignee: cuijianwei
> Fix For: 0.94.5
>
> Attachments:
> closing_socket_connection_not_removed_in_secure_client.diff,
> HBASE-7685-0.94.txt
>
>
> We found many IOExceptions naming "Call # not added as the connection # is
> closing" when using SecureClient to access hbase. From the source code of
> SecureClient, we found there may be bug in close() method of SecureClient.
> The following is the current logic in close() method of SecureClient:
> {code}
> // release the resources
> // first thing to do;take the connection out of the connection list
> synchronized (connections) {
> if (connections.get(remoteId) == this) {
> connections.remove(remoteId);
> }
> }
> {code}
> However, connections are managed by PoolMap; therefore, if more than one
> connection are created for the same remoteId, the 'if condition' may not be
> satisfied because the default PoolType is RoundRobin. This could be cause a
> closing state connection can't be removed from connections, making new calls
> which use such connections will always throws IOException naming "connection
> is closing".
> We can use logic from close() method of HBaseClient to resolve the problem:
> {code}
> // release the resources
> // first thing to do;take the connection out of the connection list
> synchronized (connections) {
> connections.remove(remoteId, this);
> }
> {code}
--
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