[jira] [Commented] (HBASE-6651) Improve thread safety of HTablePool
[ https://issues.apache.org/jira/browse/HBASE-6651?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15964585#comment-15964585 ] Hadoop QA commented on HBASE-6651: -- | (x) *{color:red}-1 overall{color}* | \\ \\ || Vote || Subsystem || Runtime || Comment || | {color:blue}0{color} | {color:blue} reexec {color} | {color:blue} 0m 0s {color} | {color:blue} Docker mode activated. {color} | | {color:red}-1{color} | {color:red} patch {color} | {color:red} 0m 7s {color} | {color:red} HBASE-6651 does not apply to master. Rebase required? Wrong Branch? See https://yetus.apache.org/documentation/0.3.0/precommit-patchnames for help. {color} | \\ \\ || Subsystem || Report/Notes || | JIRA Patch URL | https://issues.apache.org/jira/secure/attachment/12637772/HBASE-6651-V16-trunk.patch | | JIRA Issue | HBASE-6651 | | Console output | https://builds.apache.org/job/PreCommit-HBASE-Build/6391/console | | Powered by | Apache Yetus 0.3.0 http://yetus.apache.org | This message was automatically generated. > Improve thread safety of HTablePool > --- > > Key: HBASE-6651 > URL: https://issues.apache.org/jira/browse/HBASE-6651 > Project: HBase > Issue Type: Bug > Components: Client >Affects Versions: 0.94.1 >Reporter: Hiroshi Ikeda >Assignee: Hiroshi Ikeda > Attachments: HBASE-6651.patch, HBASE-6651-V10.patch, > HBASE-6651-V11.patch, HBASE-6651-V12.patch, HBASE-6651-V13.patch, > HBASE-6651-V14-0.96.patch, HBASE-6651-V14-0.98.patch, > HBASE-6651-V14-trunk.patch, HBASE-6651-V15-0.96.patch, > HBASE-6651-V15-0.98.patch, HBASE-6651-V15-trunk.patch, > HBASE-6651-V16-0.96.patch, HBASE-6651-V16-0.98.patch, > HBASE-6651-V16-trunk.patch, HBASE-6651-V2.patch, HBASE-6651-V3.patch, > HBASE-6651-V4.patch, HBASE-6651-V5.patch, HBASE-6651-V6.patch, > HBASE-6651-V7.patch, HBASE-6651-V8.patch, HBASE-6651-V9.patch, sample.zip, > sample.zip, sharedmap_for_hbaseclient.zip > > > There are some operations in HTablePool accessing PoolMap in multiple places > without any explicit synchronization. > For example HTablePool.closeTablePool() calls PoolMap.values(), and calls > PoolMap.remove(). If other threads add new instances to the pool in the > middle of the calls, the newly added instances might be dropped. > (HTablePool.closeTablePool() also has another problem that calling it by > multiple threads causes accessing HTable by multiple threads.) > Moreover, PoolMap is not thread safe for the same reason. > For example PoolMap.put() calles ConcurrentMap.get() and calles > ConcurrentMap.put(). If other threads add a new instance to the concurent map > in the middle of the calls, the new instance might be dropped. > And also implementations of Pool have the same problems. -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (HBASE-6651) Improve thread safety of HTablePool
[ https://issues.apache.org/jira/browse/HBASE-6651?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15964488#comment-15964488 ] stack commented on HBASE-6651: -- [~chia7712] Yes (though give the issue a skim because [~ikeda] finds good stuff -- there might be something in here that appiies beyond HTP. Open new issue if something found?) > Improve thread safety of HTablePool > --- > > Key: HBASE-6651 > URL: https://issues.apache.org/jira/browse/HBASE-6651 > Project: HBase > Issue Type: Bug > Components: Client >Affects Versions: 0.94.1 >Reporter: Hiroshi Ikeda >Assignee: Hiroshi Ikeda > Attachments: HBASE-6651.patch, HBASE-6651-V10.patch, > HBASE-6651-V11.patch, HBASE-6651-V12.patch, HBASE-6651-V13.patch, > HBASE-6651-V14-0.96.patch, HBASE-6651-V14-0.98.patch, > HBASE-6651-V14-trunk.patch, HBASE-6651-V15-0.96.patch, > HBASE-6651-V15-0.98.patch, HBASE-6651-V15-trunk.patch, > HBASE-6651-V16-0.96.patch, HBASE-6651-V16-0.98.patch, > HBASE-6651-V16-trunk.patch, HBASE-6651-V2.patch, HBASE-6651-V3.patch, > HBASE-6651-V4.patch, HBASE-6651-V5.patch, HBASE-6651-V6.patch, > HBASE-6651-V7.patch, HBASE-6651-V8.patch, HBASE-6651-V9.patch, sample.zip, > sample.zip, sharedmap_for_hbaseclient.zip > > > There are some operations in HTablePool accessing PoolMap in multiple places > without any explicit synchronization. > For example HTablePool.closeTablePool() calls PoolMap.values(), and calls > PoolMap.remove(). If other threads add new instances to the pool in the > middle of the calls, the newly added instances might be dropped. > (HTablePool.closeTablePool() also has another problem that calling it by > multiple threads causes accessing HTable by multiple threads.) > Moreover, PoolMap is not thread safe for the same reason. > For example PoolMap.put() calles ConcurrentMap.get() and calles > ConcurrentMap.put(). If other threads add a new instance to the concurent map > in the middle of the calls, the new instance might be dropped. > And also implementations of Pool have the same problems. -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (HBASE-6651) Improve thread safety of HTablePool
[ https://issues.apache.org/jira/browse/HBASE-6651?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15964400#comment-15964400 ] Chia-Ping Tsai commented on HBASE-6651: --- HTablePool had been removed in 0.98.1. Shall we close this issue? > Improve thread safety of HTablePool > --- > > Key: HBASE-6651 > URL: https://issues.apache.org/jira/browse/HBASE-6651 > Project: HBase > Issue Type: Bug > Components: Client >Affects Versions: 0.94.1 >Reporter: Hiroshi Ikeda >Assignee: Hiroshi Ikeda > Attachments: HBASE-6651.patch, HBASE-6651-V10.patch, > HBASE-6651-V11.patch, HBASE-6651-V12.patch, HBASE-6651-V13.patch, > HBASE-6651-V14-0.96.patch, HBASE-6651-V14-0.98.patch, > HBASE-6651-V14-trunk.patch, HBASE-6651-V15-0.96.patch, > HBASE-6651-V15-0.98.patch, HBASE-6651-V15-trunk.patch, > HBASE-6651-V16-0.96.patch, HBASE-6651-V16-0.98.patch, > HBASE-6651-V16-trunk.patch, HBASE-6651-V2.patch, HBASE-6651-V3.patch, > HBASE-6651-V4.patch, HBASE-6651-V5.patch, HBASE-6651-V6.patch, > HBASE-6651-V7.patch, HBASE-6651-V8.patch, HBASE-6651-V9.patch, sample.zip, > sample.zip, sharedmap_for_hbaseclient.zip > > > There are some operations in HTablePool accessing PoolMap in multiple places > without any explicit synchronization. > For example HTablePool.closeTablePool() calls PoolMap.values(), and calls > PoolMap.remove(). If other threads add new instances to the pool in the > middle of the calls, the newly added instances might be dropped. > (HTablePool.closeTablePool() also has another problem that calling it by > multiple threads causes accessing HTable by multiple threads.) > Moreover, PoolMap is not thread safe for the same reason. > For example PoolMap.put() calles ConcurrentMap.get() and calles > ConcurrentMap.put(). If other threads add a new instance to the concurent map > in the middle of the calls, the new instance might be dropped. > And also implementations of Pool have the same problems. -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (HBASE-6651) Improve thread safety of HTablePool
[ https://issues.apache.org/jira/browse/HBASE-6651?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13955139#comment-13955139 ] Hadoop QA commented on HBASE-6651: -- {color:green}+1 overall{color}. Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12637772/HBASE-6651-V16-trunk.patch against trunk revision . ATTACHMENT ID: 12637772 {color:green}+1 @author{color}. The patch does not contain any @author tags. {color:green}+1 tests included{color}. The patch appears to include 21 new or modified tests. {color:green}+1 javadoc{color}. The javadoc tool did not generate any warning messages. {color:green}+1 javac{color}. The applied patch does not increase the total number of javac compiler warnings. {color:green}+1 findbugs{color}. The patch does not introduce any new Findbugs (version 1.3.9) warnings. {color:green}+1 release audit{color}. The applied patch does not increase the total number of release audit warnings. {color:green}+1 lineLengths{color}. The patch does not introduce lines longer than 100 {color:green}+1 site{color}. The mvn site goal succeeds with this patch. {color:green}+1 core tests{color}. The patch passed unit tests in . Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/9137//testReport/ Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9137//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-protocol.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9137//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-thrift.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9137//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-client.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9137//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop2-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9137//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-examples.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9137//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-prefix-tree.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9137//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-common.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9137//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-server.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9137//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/9137//console This message is automatically generated. > Improve thread safety of HTablePool > --- > > Key: HBASE-6651 > URL: https://issues.apache.org/jira/browse/HBASE-6651 > Project: HBase > Issue Type: Bug > Components: Client >Affects Versions: 0.94.1 >Reporter: Hiroshi Ikeda >Assignee: Hiroshi Ikeda > Attachments: HBASE-6651-V10.patch, HBASE-6651-V11.patch, > HBASE-6651-V12.patch, HBASE-6651-V13.patch, HBASE-6651-V14-0.96.patch, > HBASE-6651-V14-0.98.patch, HBASE-6651-V14-trunk.patch, > HBASE-6651-V15-0.96.patch, HBASE-6651-V15-0.98.patch, > HBASE-6651-V15-trunk.patch, HBASE-6651-V16-0.96.patch, > HBASE-6651-V16-0.98.patch, HBASE-6651-V16-trunk.patch, HBASE-6651-V2.patch, > HBASE-6651-V3.patch, HBASE-6651-V4.patch, HBASE-6651-V5.patch, > HBASE-6651-V6.patch, HBASE-6651-V7.patch, HBASE-6651-V8.patch, > HBASE-6651-V9.patch, HBASE-6651.patch, sample.zip, sample.zip, > sharedmap_for_hbaseclient.zip > > > There are some operations in HTablePool accessing PoolMap in multiple places > without any explicit synchronization. > For example HTablePool.closeTablePool() calls PoolMap.values(), and calls > PoolMap.remove(). If other threads add new instances to the pool in the > middle of the calls, the newly added instances might be dropped. > (HTablePool.closeTablePool() also has another problem that calling it by > multiple threads causes accessing HTable by multiple threads.) > Moreover, PoolMap is not thread safe for the same reason. > For example PoolMap.put() calles ConcurrentMap.get() and calles > ConcurrentMap.put(). If other threads add a new instance to the concurent map > in the middle of the calls, the new instance might be dropped. > And also implementations of Pool have the same problems. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (HBASE-6651) Improve thread safety of HTablePool
[ https://issues.apache.org/jira/browse/HBASE-6651?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13955037#comment-13955037 ] Hiroshi Ikeda commented on HBASE-6651: -- Sorry bq. the returnObject should return true only for the last borrower true -> false > Improve thread safety of HTablePool > --- > > Key: HBASE-6651 > URL: https://issues.apache.org/jira/browse/HBASE-6651 > Project: HBase > Issue Type: Bug > Components: Client >Affects Versions: 0.94.1 >Reporter: Hiroshi Ikeda >Assignee: Hiroshi Ikeda > Attachments: HBASE-6651-V10.patch, HBASE-6651-V11.patch, > HBASE-6651-V12.patch, HBASE-6651-V13.patch, HBASE-6651-V14-0.96.patch, > HBASE-6651-V14-0.98.patch, HBASE-6651-V14-trunk.patch, > HBASE-6651-V15-0.96.patch, HBASE-6651-V15-0.98.patch, > HBASE-6651-V15-trunk.patch, HBASE-6651-V16-0.96.patch, > HBASE-6651-V16-0.98.patch, HBASE-6651-V16-trunk.patch, HBASE-6651-V2.patch, > HBASE-6651-V3.patch, HBASE-6651-V4.patch, HBASE-6651-V5.patch, > HBASE-6651-V6.patch, HBASE-6651-V7.patch, HBASE-6651-V8.patch, > HBASE-6651-V9.patch, HBASE-6651.patch, sample.zip, sample.zip, > sharedmap_for_hbaseclient.zip > > > There are some operations in HTablePool accessing PoolMap in multiple places > without any explicit synchronization. > For example HTablePool.closeTablePool() calls PoolMap.values(), and calls > PoolMap.remove(). If other threads add new instances to the pool in the > middle of the calls, the newly added instances might be dropped. > (HTablePool.closeTablePool() also has another problem that calling it by > multiple threads causes accessing HTable by multiple threads.) > Moreover, PoolMap is not thread safe for the same reason. > For example PoolMap.put() calles ConcurrentMap.get() and calles > ConcurrentMap.put(). If other threads add a new instance to the concurent map > in the middle of the calls, the new instance might be dropped. > And also implementations of Pool have the same problems. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (HBASE-6651) Improve thread safety of HTablePool
[ https://issues.apache.org/jira/browse/HBASE-6651?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13950489#comment-13950489 ] Hadoop QA commented on HBASE-6651: -- {color:red}-1 overall{color}. Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12637342/HBASE-6651-V15-trunk.patch against trunk revision . ATTACHMENT ID: 12637342 {color:green}+1 @author{color}. The patch does not contain any @author tags. {color:green}+1 tests included{color}. The patch appears to include 19 new or modified tests. {color:red}-1 javadoc{color}. The javadoc tool appears to have generated 16 warning messages. {color:green}+1 javac{color}. The applied patch does not increase the total number of javac compiler warnings. {color:green}+1 findbugs{color}. The patch does not introduce any new Findbugs (version 1.3.9) warnings. {color:green}+1 release audit{color}. The applied patch does not increase the total number of release audit warnings. {color:green}+1 lineLengths{color}. The patch does not introduce lines longer than 100 {color:green}+1 site{color}. The mvn site goal succeeds with this patch. {color:green}+1 core tests{color}. The patch passed unit tests in . Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/9124//testReport/ Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9124//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-protocol.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9124//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-thrift.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9124//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-client.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9124//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop2-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9124//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-examples.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9124//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-prefix-tree.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9124//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-common.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9124//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-server.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9124//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/9124//console This message is automatically generated. > Improve thread safety of HTablePool > --- > > Key: HBASE-6651 > URL: https://issues.apache.org/jira/browse/HBASE-6651 > Project: HBase > Issue Type: Bug > Components: Client >Affects Versions: 0.94.1 >Reporter: Hiroshi Ikeda >Assignee: Hiroshi Ikeda > Attachments: HBASE-6651-V10.patch, HBASE-6651-V11.patch, > HBASE-6651-V12.patch, HBASE-6651-V13.patch, HBASE-6651-V14-0.96.patch, > HBASE-6651-V14-0.98.patch, HBASE-6651-V14-trunk.patch, > HBASE-6651-V15-0.96.patch, HBASE-6651-V15-0.98.patch, > HBASE-6651-V15-trunk.patch, HBASE-6651-V2.patch, HBASE-6651-V3.patch, > HBASE-6651-V4.patch, HBASE-6651-V5.patch, HBASE-6651-V6.patch, > HBASE-6651-V7.patch, HBASE-6651-V8.patch, HBASE-6651-V9.patch, > HBASE-6651.patch, sample.zip, sample.zip, sharedmap_for_hbaseclient.zip > > > There are some operations in HTablePool accessing PoolMap in multiple places > without any explicit synchronization. > For example HTablePool.closeTablePool() calls PoolMap.values(), and calls > PoolMap.remove(). If other threads add new instances to the pool in the > middle of the calls, the newly added instances might be dropped. > (HTablePool.closeTablePool() also has another problem that calling it by > multiple threads causes accessing HTable by multiple threads.) > Moreover, PoolMap is not thread safe for the same reason. > For example PoolMap.put() calles ConcurrentMap.get() and calles > ConcurrentMap.put(). If other threads add a new instance to the concurent map > in the middle of the calls, the new instance might be dropped. > And also implementations of Pool have the same problems. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (HBASE-6651) Improve thread safety of HTablePool
[ https://issues.apache.org/jira/browse/HBASE-6651?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13950370#comment-13950370 ] Hadoop QA commented on HBASE-6651: -- {color:red}-1 overall{color}. Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12637319/HBASE-6651-V14-trunk.patch against trunk revision . ATTACHMENT ID: 12637319 {color:green}+1 @author{color}. The patch does not contain any @author tags. {color:green}+1 tests included{color}. The patch appears to include 19 new or modified tests. {color:red}-1 javadoc{color}. The javadoc tool appears to have generated 16 warning messages. {color:green}+1 javac{color}. The applied patch does not increase the total number of javac compiler warnings. {color:green}+1 findbugs{color}. The patch does not introduce any new Findbugs (version 1.3.9) warnings. {color:red}-1 release audit{color}. The applied patch generated 1 release audit warnings (more than the trunk's current 0 warnings). {color:green}+1 lineLengths{color}. The patch does not introduce lines longer than 100 {color:green}+1 site{color}. The mvn site goal succeeds with this patch. {color:green}+1 core tests{color}. The patch passed unit tests in . Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/9121//testReport/ Release audit warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9121//artifact/trunk/patchprocess/patchReleaseAuditProblems.txt Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9121//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-protocol.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9121//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-thrift.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9121//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-client.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9121//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop2-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9121//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-examples.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9121//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-prefix-tree.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9121//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-common.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9121//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-server.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9121//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/9121//console This message is automatically generated. > Improve thread safety of HTablePool > --- > > Key: HBASE-6651 > URL: https://issues.apache.org/jira/browse/HBASE-6651 > Project: HBase > Issue Type: Bug > Components: Client >Affects Versions: 0.94.1 >Reporter: Hiroshi Ikeda >Assignee: Hiroshi Ikeda > Attachments: HBASE-6651-V10.patch, HBASE-6651-V11.patch, > HBASE-6651-V12.patch, HBASE-6651-V13.patch, HBASE-6651-V14-0.96.patch, > HBASE-6651-V14-0.98.patch, HBASE-6651-V14-trunk.patch, HBASE-6651-V2.patch, > HBASE-6651-V3.patch, HBASE-6651-V4.patch, HBASE-6651-V5.patch, > HBASE-6651-V6.patch, HBASE-6651-V7.patch, HBASE-6651-V8.patch, > HBASE-6651-V9.patch, HBASE-6651.patch, sample.zip, sample.zip, > sharedmap_for_hbaseclient.zip > > > There are some operations in HTablePool accessing PoolMap in multiple places > without any explicit synchronization. > For example HTablePool.closeTablePool() calls PoolMap.values(), and calls > PoolMap.remove(). If other threads add new instances to the pool in the > middle of the calls, the newly added instances might be dropped. > (HTablePool.closeTablePool() also has another problem that calling it by > multiple threads causes accessing HTable by multiple threads.) > Moreover, PoolMap is not thread safe for the same reason. > For example PoolMap.put() calles ConcurrentMap.get() and calles > ConcurrentMap.put(). If other threads add a new instance to the concurent map > in the middle of the calls, the new instance might be dropped. > And also implementations of Pool have the same problems. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (HBASE-6651) Improve thread safety of HTablePool
[ https://issues.apache.org/jira/browse/HBASE-6651?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13619577#comment-13619577 ] Hadoop QA commented on HBASE-6651: -- {color:red}-1 overall{color}. Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12576494/HBASE-6651-V13.patch against trunk revision . {color:green}+1 @author{color}. The patch does not contain any @author tags. {color:green}+1 tests included{color}. The patch appears to include 28 new or modified tests. {color:green}+1 hadoop2.0{color}. The patch compiles against the hadoop 2.0 profile. {color:red}-1 javadoc{color}. The javadoc tool appears to have generated 10 warning messages. {color:green}+1 javac{color}. The applied patch does not increase the total number of javac compiler warnings. {color:green}+1 findbugs{color}. The patch does not introduce any new Findbugs (version 1.3.9) warnings. {color:green}+1 release audit{color}. The applied patch does not increase the total number of release audit warnings. {color:red}-1 lineLengths{color}. The patch introduces lines longer than 100 {color:green}+1 site{color}. The mvn site goal succeeds with this patch. {color:red}-1 core tests{color}. The patch failed these unit tests: org.apache.hadoop.hbase.client.TestFromClientSide org.apache.hadoop.hbase.client.TestFromClientSideWithCoprocessor Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/5090//testReport/ Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/5090//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-prefix-tree.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/5090//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-client.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/5090//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-common.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/5090//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-protocol.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/5090//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-server.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/5090//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop1-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/5090//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-examples.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/5090//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/5090//console This message is automatically generated. > Improve thread safety of HTablePool > --- > > Key: HBASE-6651 > URL: https://issues.apache.org/jira/browse/HBASE-6651 > Project: HBase > Issue Type: Bug > Components: Client >Affects Versions: 0.94.1 >Reporter: Hiroshi Ikeda >Assignee: Hiroshi Ikeda > Fix For: 0.95.0 > > Attachments: HBASE-6651.patch, HBASE-6651-V10.patch, > HBASE-6651-V11.patch, HBASE-6651-V12.patch, HBASE-6651-V13.patch, > HBASE-6651-V2.patch, HBASE-6651-V3.patch, HBASE-6651-V4.patch, > HBASE-6651-V5.patch, HBASE-6651-V6.patch, HBASE-6651-V7.patch, > HBASE-6651-V8.patch, HBASE-6651-V9.patch, sample.zip, sample.zip, > sharedmap_for_hbaseclient.zip > > > There are some operations in HTablePool accessing PoolMap in multiple places > without any explicit synchronization. > For example HTablePool.closeTablePool() calls PoolMap.values(), and calls > PoolMap.remove(). If other threads add new instances to the pool in the > middle of the calls, the newly added instances might be dropped. > (HTablePool.closeTablePool() also has another problem that calling it by > multiple threads causes accessing HTable by multiple threads.) > Moreover, PoolMap is not thread safe for the same reason. > For example PoolMap.put() calles ConcurrentMap.get() and calles > ConcurrentMap.put(). If other threads add a new instance to the concurent map > in the middle of the calls, the new instance might be dropped. > And also implementations of Pool have the same problems. -- 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
[jira] [Commented] (HBASE-6651) Improve thread safety of HTablePool
[ https://issues.apache.org/jira/browse/HBASE-6651?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13550947#comment-13550947 ] stack commented on HBASE-6651: -- Can we have the vote on HTablePool? [~lhofhansl] You want to run it? We should get rid of it in 0.96 if its going to go. > Improve thread safety of HTablePool > --- > > Key: HBASE-6651 > URL: https://issues.apache.org/jira/browse/HBASE-6651 > Project: HBase > Issue Type: Bug > Components: Client >Affects Versions: 0.94.1 >Reporter: Hiroshi Ikeda >Assignee: Hiroshi Ikeda > Fix For: 0.96.0 > > Attachments: HBASE-6651.patch, HBASE-6651-V10.patch, > HBASE-6651-V11.patch, HBASE-6651-V12.patch, HBASE-6651-V2.patch, > HBASE-6651-V3.patch, HBASE-6651-V4.patch, HBASE-6651-V5.patch, > HBASE-6651-V6.patch, HBASE-6651-V7.patch, HBASE-6651-V8.patch, > HBASE-6651-V9.patch, sample.zip, sample.zip, sharedmap_for_hbaseclient.zip > > > There are some operations in HTablePool accessing PoolMap in multiple places > without any explicit synchronization. > For example HTablePool.closeTablePool() calls PoolMap.values(), and calls > PoolMap.remove(). If other threads add new instances to the pool in the > middle of the calls, the newly added instances might be dropped. > (HTablePool.closeTablePool() also has another problem that calling it by > multiple threads causes accessing HTable by multiple threads.) > Moreover, PoolMap is not thread safe for the same reason. > For example PoolMap.put() calles ConcurrentMap.get() and calles > ConcurrentMap.put(). If other threads add a new instance to the concurent map > in the middle of the calls, the new instance might be dropped. > And also implementations of Pool have the same problems. -- 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
[jira] [Commented] (HBASE-6651) Improve thread safety of HTablePool
[ https://issues.apache.org/jira/browse/HBASE-6651?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13537729#comment-13537729 ] Hadoop QA commented on HBASE-6651: -- {color:red}-1 overall{color}. Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12562044/HBASE-6651-V12.patch against trunk revision . {color:green}+1 @author{color}. The patch does not contain any @author tags. {color:green}+1 tests included{color}. The patch appears to include 22 new or modified tests. {color:red}-1 patch{color}. The patch command could not apply the patch. Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/3649//console This message is automatically generated. > Improve thread safety of HTablePool > --- > > Key: HBASE-6651 > URL: https://issues.apache.org/jira/browse/HBASE-6651 > Project: HBase > Issue Type: Bug > Components: Client >Affects Versions: 0.94.1 >Reporter: Hiroshi Ikeda >Assignee: Hiroshi Ikeda > Fix For: 0.96.0 > > Attachments: HBASE-6651.patch, HBASE-6651-V10.patch, > HBASE-6651-V11.patch, HBASE-6651-V12.patch, HBASE-6651-V2.patch, > HBASE-6651-V3.patch, HBASE-6651-V4.patch, HBASE-6651-V5.patch, > HBASE-6651-V6.patch, HBASE-6651-V7.patch, HBASE-6651-V8.patch, > HBASE-6651-V9.patch, sample.zip, sample.zip, sharedmap_for_hbaseclient.zip > > > There are some operations in HTablePool accessing PoolMap in multiple places > without any explicit synchronization. > For example HTablePool.closeTablePool() calls PoolMap.values(), and calls > PoolMap.remove(). If other threads add new instances to the pool in the > middle of the calls, the newly added instances might be dropped. > (HTablePool.closeTablePool() also has another problem that calling it by > multiple threads causes accessing HTable by multiple threads.) > Moreover, PoolMap is not thread safe for the same reason. > For example PoolMap.put() calles ConcurrentMap.get() and calles > ConcurrentMap.put(). If other threads add a new instance to the concurent map > in the middle of the calls, the new instance might be dropped. > And also implementations of Pool have the same problems. -- 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
[jira] [Commented] (HBASE-6651) Improve thread safety of HTablePool
[ https://issues.apache.org/jira/browse/HBASE-6651?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13535822#comment-13535822 ] Hadoop QA commented on HBASE-6651: -- {color:red}-1 overall{color}. Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12561665/HBASE-6651-V11.patch against trunk revision . {color:green}+1 @author{color}. The patch does not contain any @author tags. {color:green}+1 tests included{color}. The patch appears to include 19 new or modified tests. {color:green}+1 hadoop2.0{color}. The patch compiles against the hadoop 2.0 profile. {color:green}+1 javadoc{color}. The javadoc tool did not generate any warning messages. {color:green}+1 javac{color}. The applied patch does not increase the total number of javac compiler warnings. {color:red}-1 findbugs{color}. The patch appears to introduce 25 new Findbugs (version 1.3.9) warnings. {color:green}+1 release audit{color}. The applied patch does not increase the total number of release audit warnings. {color:green}+1 core tests{color}. The patch passed unit tests in . {color:red}-1 core zombie tests{color}. There are zombie tests. See build logs for details. Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/3607//testReport/ Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/3607//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop2-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/3607//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-examples.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/3607//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-protocol.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/3607//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-server.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/3607//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop1-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/3607//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-common.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/3607//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/3607//console This message is automatically generated. > Improve thread safety of HTablePool > --- > > Key: HBASE-6651 > URL: https://issues.apache.org/jira/browse/HBASE-6651 > Project: HBase > Issue Type: Bug > Components: Client >Affects Versions: 0.94.1 >Reporter: Hiroshi Ikeda >Assignee: Hiroshi Ikeda > Fix For: 0.96.0 > > Attachments: HBASE-6651.patch, HBASE-6651-V10.patch, > HBASE-6651-V11.patch, HBASE-6651-V2.patch, HBASE-6651-V3.patch, > HBASE-6651-V4.patch, HBASE-6651-V5.patch, HBASE-6651-V6.patch, > HBASE-6651-V7.patch, HBASE-6651-V8.patch, HBASE-6651-V9.patch, sample.zip, > sample.zip, sharedmap_for_hbaseclient.zip > > > There are some operations in HTablePool accessing PoolMap in multiple places > without any explicit synchronization. > For example HTablePool.closeTablePool() calls PoolMap.values(), and calls > PoolMap.remove(). If other threads add new instances to the pool in the > middle of the calls, the newly added instances might be dropped. > (HTablePool.closeTablePool() also has another problem that calling it by > multiple threads causes accessing HTable by multiple threads.) > Moreover, PoolMap is not thread safe for the same reason. > For example PoolMap.put() calles ConcurrentMap.get() and calles > ConcurrentMap.put(). If other threads add a new instance to the concurent map > in the middle of the calls, the new instance might be dropped. > And also implementations of Pool have the same problems. -- 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
[jira] [Commented] (HBASE-6651) Improve thread safety of HTablePool
[ https://issues.apache.org/jira/browse/HBASE-6651?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13533600#comment-13533600 ] Lars Hofhansl commented on HBASE-6651: -- See my post: http://hadoop-hbase.blogspot.com/2011/12/long-running-hbase-clients.html It's only needed because the API is not designed right. Resources can't be controlled with it (max is per table). And - without your patch - it didn't even work correctly. 0.96 is the singularity where we can break stuff, if we do not do it now, we're stuck with it. > Improve thread safety of HTablePool > --- > > Key: HBASE-6651 > URL: https://issues.apache.org/jira/browse/HBASE-6651 > Project: HBase > Issue Type: Bug > Components: Client >Affects Versions: 0.94.1 >Reporter: Hiroshi Ikeda >Assignee: Hiroshi Ikeda > Fix For: 0.96.0 > > Attachments: HBASE-6651.patch, HBASE-6651-V10.patch, > HBASE-6651-V2.patch, HBASE-6651-V3.patch, HBASE-6651-V4.patch, > HBASE-6651-V5.patch, HBASE-6651-V6.patch, HBASE-6651-V7.patch, > HBASE-6651-V8.patch, HBASE-6651-V9.patch, sample.zip, sample.zip, > sharedmap_for_hbaseclient.zip > > > There are some operations in HTablePool accessing PoolMap in multiple places > without any explicit synchronization. > For example HTablePool.closeTablePool() calls PoolMap.values(), and calls > PoolMap.remove(). If other threads add new instances to the pool in the > middle of the calls, the newly added instances might be dropped. > (HTablePool.closeTablePool() also has another problem that calling it by > multiple threads causes accessing HTable by multiple threads.) > Moreover, PoolMap is not thread safe for the same reason. > For example PoolMap.put() calles ConcurrentMap.get() and calles > ConcurrentMap.put(). If other threads add a new instance to the concurent map > in the middle of the calls, the new instance might be dropped. > And also implementations of Pool have the same problems. -- 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
[jira] [Commented] (HBASE-6651) Improve thread safety of HTablePool
[ https://issues.apache.org/jira/browse/HBASE-6651?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13533589#comment-13533589 ] Hiroshi Ikeda commented on HBASE-6651: -- The Stable annotation is only used to indicate a contract between developers and users, and its javadoc says "Can evolve while retaining compatibility for minor release boundaries.; can break compatibility only at major release (ie. at m.0). ", and definitely most users believe this and create their application using "stable" API. I'm not sure about the official vote, but I think it is not sufficient to break faith with all users in the world. > Improve thread safety of HTablePool > --- > > Key: HBASE-6651 > URL: https://issues.apache.org/jira/browse/HBASE-6651 > Project: HBase > Issue Type: Bug > Components: Client >Affects Versions: 0.94.1 >Reporter: Hiroshi Ikeda >Assignee: Hiroshi Ikeda > Fix For: 0.96.0 > > Attachments: HBASE-6651.patch, HBASE-6651-V10.patch, > HBASE-6651-V2.patch, HBASE-6651-V3.patch, HBASE-6651-V4.patch, > HBASE-6651-V5.patch, HBASE-6651-V6.patch, HBASE-6651-V7.patch, > HBASE-6651-V8.patch, HBASE-6651-V9.patch, sample.zip, sample.zip, > sharedmap_for_hbaseclient.zip > > > There are some operations in HTablePool accessing PoolMap in multiple places > without any explicit synchronization. > For example HTablePool.closeTablePool() calls PoolMap.values(), and calls > PoolMap.remove(). If other threads add new instances to the pool in the > middle of the calls, the newly added instances might be dropped. > (HTablePool.closeTablePool() also has another problem that calling it by > multiple threads causes accessing HTable by multiple threads.) > Moreover, PoolMap is not thread safe for the same reason. > For example PoolMap.put() calles ConcurrentMap.get() and calles > ConcurrentMap.put(). If other threads add a new instance to the concurent map > in the middle of the calls, the new instance might be dropped. > And also implementations of Pool have the same problems. -- 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
[jira] [Commented] (HBASE-6651) Improve thread safety of HTablePool
[ https://issues.apache.org/jira/browse/HBASE-6651?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13531242#comment-13531242 ] Lars Hofhansl commented on HBASE-6651: -- -1 on keeping it. It seems need an official vote. > Improve thread safety of HTablePool > --- > > Key: HBASE-6651 > URL: https://issues.apache.org/jira/browse/HBASE-6651 > Project: HBase > Issue Type: Bug > Components: Client >Affects Versions: 0.94.1 >Reporter: Hiroshi Ikeda >Assignee: Hiroshi Ikeda > Fix For: 0.96.0 > > Attachments: HBASE-6651.patch, HBASE-6651-V10.patch, > HBASE-6651-V2.patch, HBASE-6651-V3.patch, HBASE-6651-V4.patch, > HBASE-6651-V5.patch, HBASE-6651-V6.patch, HBASE-6651-V7.patch, > HBASE-6651-V8.patch, HBASE-6651-V9.patch, sample.zip, sample.zip, > sharedmap_for_hbaseclient.zip > > > There are some operations in HTablePool accessing PoolMap in multiple places > without any explicit synchronization. > For example HTablePool.closeTablePool() calls PoolMap.values(), and calls > PoolMap.remove(). If other threads add new instances to the pool in the > middle of the calls, the newly added instances might be dropped. > (HTablePool.closeTablePool() also has another problem that calling it by > multiple threads causes accessing HTable by multiple threads.) > Moreover, PoolMap is not thread safe for the same reason. > For example PoolMap.put() calles ConcurrentMap.get() and calles > ConcurrentMap.put(). If other threads add a new instance to the concurent map > in the middle of the calls, the new instance might be dropped. > And also implementations of Pool have the same problems. -- 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
[jira] [Commented] (HBASE-6651) Improve thread safety of HTablePool
[ https://issues.apache.org/jira/browse/HBASE-6651?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13531053#comment-13531053 ] Ted Yu commented on HBASE-6651: --- bq. HTablePool is annotated as stable. +1 on keeping HTablePool in 0.96 > Improve thread safety of HTablePool > --- > > Key: HBASE-6651 > URL: https://issues.apache.org/jira/browse/HBASE-6651 > Project: HBase > Issue Type: Bug > Components: Client >Affects Versions: 0.94.1 >Reporter: Hiroshi Ikeda >Assignee: Hiroshi Ikeda > Fix For: 0.96.0 > > Attachments: HBASE-6651.patch, HBASE-6651-V10.patch, > HBASE-6651-V2.patch, HBASE-6651-V3.patch, HBASE-6651-V4.patch, > HBASE-6651-V5.patch, HBASE-6651-V6.patch, HBASE-6651-V7.patch, > HBASE-6651-V8.patch, HBASE-6651-V9.patch, sample.zip, sample.zip, > sharedmap_for_hbaseclient.zip > > > There are some operations in HTablePool accessing PoolMap in multiple places > without any explicit synchronization. > For example HTablePool.closeTablePool() calls PoolMap.values(), and calls > PoolMap.remove(). If other threads add new instances to the pool in the > middle of the calls, the newly added instances might be dropped. > (HTablePool.closeTablePool() also has another problem that calling it by > multiple threads causes accessing HTable by multiple threads.) > Moreover, PoolMap is not thread safe for the same reason. > For example PoolMap.put() calles ConcurrentMap.get() and calles > ConcurrentMap.put(). If other threads add a new instance to the concurent map > in the middle of the calls, the new instance might be dropped. > And also implementations of Pool have the same problems. -- 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
[jira] [Commented] (HBASE-6651) Improve thread safety of HTablePool
[ https://issues.apache.org/jira/browse/HBASE-6651?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13531019#comment-13531019 ] Hadoop QA commented on HBASE-6651: -- {color:red}-1 overall{color}. Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12560716/HBASE-6651-V10.patch against trunk revision . {color:green}+1 @author{color}. The patch does not contain any @author tags. {color:green}+1 tests included{color}. The patch appears to include 19 new or modified tests. {color:green}+1 hadoop2.0{color}. The patch compiles against the hadoop 2.0 profile. {color:red}-1 javadoc{color}. The javadoc tool appears to have generated 114 warning messages. {color:green}+1 javac{color}. The applied patch does not increase the total number of javac compiler warnings. {color:red}-1 findbugs{color}. The patch appears to introduce 20 new Findbugs (version 1.3.9) warnings. {color:green}+1 release audit{color}. The applied patch does not increase the total number of release audit warnings. {color:green}+1 core tests{color}. The patch passed unit tests in . Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/3527//testReport/ Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/3527//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop2-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/3527//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-examples.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/3527//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-protocol.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/3527//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop1-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/3527//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-common.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/3527//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/3527//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-server.html Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/3527//console This message is automatically generated. > Improve thread safety of HTablePool > --- > > Key: HBASE-6651 > URL: https://issues.apache.org/jira/browse/HBASE-6651 > Project: HBase > Issue Type: Bug > Components: Client >Affects Versions: 0.94.1 >Reporter: Hiroshi Ikeda >Assignee: Hiroshi Ikeda > Fix For: 0.96.0 > > Attachments: HBASE-6651.patch, HBASE-6651-V10.patch, > HBASE-6651-V2.patch, HBASE-6651-V3.patch, HBASE-6651-V4.patch, > HBASE-6651-V5.patch, HBASE-6651-V6.patch, HBASE-6651-V7.patch, > HBASE-6651-V8.patch, HBASE-6651-V9.patch, sample.zip, sample.zip, > sharedmap_for_hbaseclient.zip > > > There are some operations in HTablePool accessing PoolMap in multiple places > without any explicit synchronization. > For example HTablePool.closeTablePool() calls PoolMap.values(), and calls > PoolMap.remove(). If other threads add new instances to the pool in the > middle of the calls, the newly added instances might be dropped. > (HTablePool.closeTablePool() also has another problem that calling it by > multiple threads causes accessing HTable by multiple threads.) > Moreover, PoolMap is not thread safe for the same reason. > For example PoolMap.put() calles ConcurrentMap.get() and calles > ConcurrentMap.put(). If other threads add a new instance to the concurent map > in the middle of the calls, the new instance might be dropped. > And also implementations of Pool have the same problems. -- 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
[jira] [Commented] (HBASE-6651) Improve thread safety of HTablePool
[ https://issues.apache.org/jira/browse/HBASE-6651?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13530754#comment-13530754 ] Hiroshi Ikeda commented on HBASE-6651: -- HTablePool is annotated as stable. That means we should not remove the class before 1.0.0 > Improve thread safety of HTablePool > --- > > Key: HBASE-6651 > URL: https://issues.apache.org/jira/browse/HBASE-6651 > Project: HBase > Issue Type: Bug > Components: Client >Affects Versions: 0.94.1 >Reporter: Hiroshi Ikeda >Assignee: Hiroshi Ikeda > Fix For: 0.96.0 > > Attachments: HBASE-6651.patch, HBASE-6651-V10.patch, > HBASE-6651-V2.patch, HBASE-6651-V3.patch, HBASE-6651-V4.patch, > HBASE-6651-V5.patch, HBASE-6651-V6.patch, HBASE-6651-V7.patch, > HBASE-6651-V8.patch, HBASE-6651-V9.patch, sample.zip, sample.zip, > sharedmap_for_hbaseclient.zip > > > There are some operations in HTablePool accessing PoolMap in multiple places > without any explicit synchronization. > For example HTablePool.closeTablePool() calls PoolMap.values(), and calls > PoolMap.remove(). If other threads add new instances to the pool in the > middle of the calls, the newly added instances might be dropped. > (HTablePool.closeTablePool() also has another problem that calling it by > multiple threads causes accessing HTable by multiple threads.) > Moreover, PoolMap is not thread safe for the same reason. > For example PoolMap.put() calles ConcurrentMap.get() and calles > ConcurrentMap.put(). If other threads add a new instance to the concurent map > in the middle of the calls, the new instance might be dropped. > And also implementations of Pool have the same problems. -- 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
[jira] [Commented] (HBASE-6651) Improve thread safety of HTablePool
[ https://issues.apache.org/jira/browse/HBASE-6651?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13530749#comment-13530749 ] Hadoop QA commented on HBASE-6651: -- {color:red}-1 overall{color}. Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12560716/HBASE-6651-V10.patch against trunk revision . {color:green}+1 @author{color}. The patch does not contain any @author tags. {color:green}+1 tests included{color}. The patch appears to include 19 new or modified tests. {color:green}+1 hadoop2.0{color}. The patch compiles against the hadoop 2.0 profile. {color:red}-1 javadoc{color}. The javadoc tool appears to have generated 114 warning messages. {color:green}+1 javac{color}. The applied patch does not increase the total number of javac compiler warnings. {color:red}-1 findbugs{color}. The patch appears to introduce 20 new Findbugs (version 1.3.9) warnings. {color:green}+1 release audit{color}. The applied patch does not increase the total number of release audit warnings. {color:green}+1 core tests{color}. The patch passed unit tests in . Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/3519//testReport/ Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/3519//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop2-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/3519//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-examples.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/3519//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-protocol.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/3519//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop1-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/3519//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-common.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/3519//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/3519//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-server.html Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/3519//console This message is automatically generated. > Improve thread safety of HTablePool > --- > > Key: HBASE-6651 > URL: https://issues.apache.org/jira/browse/HBASE-6651 > Project: HBase > Issue Type: Bug > Components: Client >Affects Versions: 0.94.1 >Reporter: Hiroshi Ikeda >Assignee: Hiroshi Ikeda > Fix For: 0.96.0 > > Attachments: HBASE-6651.patch, HBASE-6651-V10.patch, > HBASE-6651-V2.patch, HBASE-6651-V3.patch, HBASE-6651-V4.patch, > HBASE-6651-V5.patch, HBASE-6651-V6.patch, HBASE-6651-V7.patch, > HBASE-6651-V8.patch, HBASE-6651-V9.patch, sample.zip, sample.zip, > sharedmap_for_hbaseclient.zip > > > There are some operations in HTablePool accessing PoolMap in multiple places > without any explicit synchronization. > For example HTablePool.closeTablePool() calls PoolMap.values(), and calls > PoolMap.remove(). If other threads add new instances to the pool in the > middle of the calls, the newly added instances might be dropped. > (HTablePool.closeTablePool() also has another problem that calling it by > multiple threads causes accessing HTable by multiple threads.) > Moreover, PoolMap is not thread safe for the same reason. > For example PoolMap.put() calles ConcurrentMap.get() and calles > ConcurrentMap.put(). If other threads add a new instance to the concurent map > in the middle of the calls, the new instance might be dropped. > And also implementations of Pool have the same problems. -- 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
[jira] [Commented] (HBASE-6651) Improve thread safety of HTablePool
[ https://issues.apache.org/jira/browse/HBASE-6651?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13530685#comment-13530685 ] Lars Hofhansl commented on HBASE-6651: -- We should just remove HTablePool (I've been saying this for a while). It's: * heavy weight * hard to debug * hard to read * and incorrect See also HBASE-6580 and HBASE-4805. We can do this in 0.96. > Improve thread safety of HTablePool > --- > > Key: HBASE-6651 > URL: https://issues.apache.org/jira/browse/HBASE-6651 > Project: HBase > Issue Type: Bug > Components: Client >Affects Versions: 0.94.1 >Reporter: Hiroshi Ikeda >Assignee: Hiroshi Ikeda > Fix For: 0.96.0 > > Attachments: HBASE-6651.patch, HBASE-6651-V2.patch, > HBASE-6651-V3.patch, HBASE-6651-V4.patch, HBASE-6651-V5.patch, > HBASE-6651-V6.patch, HBASE-6651-V7.patch, HBASE-6651-V8.patch, > HBASE-6651-V9.patch, sample.zip, sample.zip, sharedmap_for_hbaseclient.zip > > > There are some operations in HTablePool accessing PoolMap in multiple places > without any explicit synchronization. > For example HTablePool.closeTablePool() calls PoolMap.values(), and calls > PoolMap.remove(). If other threads add new instances to the pool in the > middle of the calls, the newly added instances might be dropped. > (HTablePool.closeTablePool() also has another problem that calling it by > multiple threads causes accessing HTable by multiple threads.) > Moreover, PoolMap is not thread safe for the same reason. > For example PoolMap.put() calles ConcurrentMap.get() and calles > ConcurrentMap.put(). If other threads add a new instance to the concurent map > in the middle of the calls, the new instance might be dropped. > And also implementations of Pool have the same problems. -- 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
[jira] [Commented] (HBASE-6651) Improve thread safety of HTablePool
[ https://issues.apache.org/jira/browse/HBASE-6651?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13527881#comment-13527881 ] Hadoop QA commented on HBASE-6651: -- {color:red}-1 overall{color}. Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12560157/HBASE-6651-V8.patch against trunk revision . {color:green}+1 @author{color}. The patch does not contain any @author tags. {color:green}+1 tests included{color}. The patch appears to include 15 new or modified tests. {color:green}+1 hadoop2.0{color}. The patch compiles against the hadoop 2.0 profile. {color:red}-1 javadoc{color}. The javadoc tool appears to have generated 111 warning messages. {color:green}+1 javac{color}. The applied patch does not increase the total number of javac compiler warnings. {color:red}-1 findbugs{color}. The patch appears to introduce 20 new Findbugs (version 1.3.9) warnings. {color:green}+1 release audit{color}. The applied patch does not increase the total number of release audit warnings. {color:red}-1 core tests{color}. The patch failed these unit tests: org.apache.hadoop.hbase.regionserver.TestAtomicOperation Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/3471//testReport/ Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/3471//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop2-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/3471//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-examples.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/3471//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-protocol.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/3471//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-server.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/3471//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop1-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/3471//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-common.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/3471//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/3471//console This message is automatically generated. > Improve thread safety of HTablePool > --- > > Key: HBASE-6651 > URL: https://issues.apache.org/jira/browse/HBASE-6651 > Project: HBase > Issue Type: Bug > Components: Client >Affects Versions: 0.94.1 >Reporter: Hiroshi Ikeda >Assignee: Hiroshi Ikeda > Fix For: 0.96.0 > > Attachments: HBASE-6651.patch, HBASE-6651-V2.patch, > HBASE-6651-V3.patch, HBASE-6651-V4.patch, HBASE-6651-V5.patch, > HBASE-6651-V6.patch, HBASE-6651-V7.patch, HBASE-6651-V8.patch, sample.zip, > sample.zip, sharedmap_for_hbaseclient.zip > > > There are some operations in HTablePool accessing PoolMap in multiple places > without any explicit synchronization. > For example HTablePool.closeTablePool() calls PoolMap.values(), and calls > PoolMap.remove(). If other threads add new instances to the pool in the > middle of the calls, the newly added instances might be dropped. > (HTablePool.closeTablePool() also has another problem that calling it by > multiple threads causes accessing HTable by multiple threads.) > Moreover, PoolMap is not thread safe for the same reason. > For example PoolMap.put() calles ConcurrentMap.get() and calles > ConcurrentMap.put(). If other threads add a new instance to the concurent map > in the middle of the calls, the new instance might be dropped. > And also implementations of Pool have the same problems. -- 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
[jira] [Commented] (HBASE-6651) Improve thread safety of HTablePool
[ https://issues.apache.org/jira/browse/HBASE-6651?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13501817#comment-13501817 ] Hadoop QA commented on HBASE-6651: -- {color:red}-1 overall{color}. Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12554470/HBASE-6651-V7.patch against trunk revision . {color:green}+1 @author{color}. The patch does not contain any @author tags. {color:green}+1 tests included{color}. The patch appears to include 15 new or modified tests. {color:green}+1 hadoop2.0{color}. The patch compiles against the hadoop 2.0 profile. {color:red}-1 javadoc{color}. The javadoc tool appears to have generated 109 warning messages. {color:green}+1 javac{color}. The applied patch does not increase the total number of javac compiler warnings. {color:red}-1 findbugs{color}. The patch appears to introduce 22 new Findbugs (version 1.3.9) warnings. {color:green}+1 release audit{color}. The applied patch does not increase the total number of release audit warnings. {color:red}-1 core tests{color}. The patch failed these unit tests: Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/3384//testReport/ Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/3384//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop2-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/3384//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-examples.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/3384//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-protocol.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/3384//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop1-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/3384//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-common.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/3384//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/3384//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-server.html Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/3384//console This message is automatically generated. > Improve thread safety of HTablePool > --- > > Key: HBASE-6651 > URL: https://issues.apache.org/jira/browse/HBASE-6651 > Project: HBase > Issue Type: Bug > Components: Client >Affects Versions: 0.94.1 >Reporter: Hiroshi Ikeda >Assignee: Hiroshi Ikeda > Fix For: 0.96.0 > > Attachments: HBASE-6651.patch, HBASE-6651-V2.patch, > HBASE-6651-V3.patch, HBASE-6651-V4.patch, HBASE-6651-V5.patch, > HBASE-6651-V6.patch, HBASE-6651-V7.patch, sample.zip, sample.zip, > sharedmap_for_hbaseclient.zip > > > There are some operations in HTablePool accessing PoolMap in multiple places > without any explicit synchronization. > For example HTablePool.closeTablePool() calls PoolMap.values(), and calls > PoolMap.remove(). If other threads add new instances to the pool in the > middle of the calls, the newly added instances might be dropped. > (HTablePool.closeTablePool() also has another problem that calling it by > multiple threads causes accessing HTable by multiple threads.) > Moreover, PoolMap is not thread safe for the same reason. > For example PoolMap.put() calles ConcurrentMap.get() and calles > ConcurrentMap.put(). If other threads add a new instance to the concurent map > in the middle of the calls, the new instance might be dropped. > And also implementations of Pool have the same problems. -- 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
[jira] [Commented] (HBASE-6651) Improve thread safety of HTablePool
[ https://issues.apache.org/jira/browse/HBASE-6651?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13498376#comment-13498376 ] Jesse Yates commented on HBASE-6651: [~ikeda] this is looking pretty good. I added some comments on reviewboard along with a couple questions as to the implementation. Sorry if I'm being dense - this is tricky code and I'm a little late to this party :) > Improve thread safety of HTablePool > --- > > Key: HBASE-6651 > URL: https://issues.apache.org/jira/browse/HBASE-6651 > Project: HBase > Issue Type: Bug > Components: Client >Affects Versions: 0.94.1 >Reporter: Hiroshi Ikeda >Assignee: Hiroshi Ikeda > Fix For: 0.96.0 > > Attachments: HBASE-6651.patch, HBASE-6651-V2.patch, > HBASE-6651-V3.patch, HBASE-6651-V4.patch, HBASE-6651-V5.patch, > HBASE-6651-V6.patch, sample.zip, sample.zip, sharedmap_for_hbaseclient.zip > > > There are some operations in HTablePool accessing PoolMap in multiple places > without any explicit synchronization. > For example HTablePool.closeTablePool() calls PoolMap.values(), and calls > PoolMap.remove(). If other threads add new instances to the pool in the > middle of the calls, the newly added instances might be dropped. > (HTablePool.closeTablePool() also has another problem that calling it by > multiple threads causes accessing HTable by multiple threads.) > Moreover, PoolMap is not thread safe for the same reason. > For example PoolMap.put() calles ConcurrentMap.get() and calles > ConcurrentMap.put(). If other threads add a new instance to the concurent map > in the middle of the calls, the new instance might be dropped. > And also implementations of Pool have the same problems. -- 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
[jira] [Commented] (HBASE-6651) Improve thread safety of HTablePool
[ https://issues.apache.org/jira/browse/HBASE-6651?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13487093#comment-13487093 ] Ted Yu commented on HBASE-6651: --- I sent our review request to dev@hbase Will wait some time before integration. > Improve thread safety of HTablePool > --- > > Key: HBASE-6651 > URL: https://issues.apache.org/jira/browse/HBASE-6651 > Project: HBase > Issue Type: Bug > Components: Client >Affects Versions: 0.94.1 >Reporter: Hiroshi Ikeda >Assignee: Hiroshi Ikeda >Priority: Minor > Fix For: 0.96.0 > > Attachments: HBASE-6651.patch, HBASE-6651-V2.patch, > HBASE-6651-V3.patch, HBASE-6651-V4.patch, HBASE-6651-V5.patch, > HBASE-6651-V6.patch, sample.zip, sample.zip, sharedmap_for_hbaseclient.zip > > > There are some operations in HTablePool to access to PoolMap in multiple > times without any explict synchronization. > For example HTablePool.closeTablePool() calles PoolMap.values(), and calles > PoolMap.remove(). If other threads add new instances to the pool in the > middle of the calls, the new added instances might be dropped. > (HTablePool.closeTablePool() also has another problem that calling it by > multple threads causes accessing HTable by multiple threads.) > Moreover, PoolMap is not thread safe for the same reason. > For example PoolMap.put() calles ConcurrentMap.get() and calles > ConcurrentMap.put(). If other threads add a new instance to the concurent map > in the middle of the calls, the new instance might be dropped. > And also implementations of Pool have the same problems. -- 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
[jira] [Commented] (HBASE-6651) Improve thread safety of HTablePool
[ https://issues.apache.org/jira/browse/HBASE-6651?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13487089#comment-13487089 ] ramkrishna.s.vasudevan commented on HBASE-6651: --- [~ikeda] Thanks for the patch and it is very good and of high quality. As Ted said, if some one else also reviews this patch it would be great and i should be with Hiroshi's nice comments and javadocs thro out the code it should be easier. The HBaseClient.java also has been touched so its better some one who is familiar in that side reviews it and we can get this in. @Ted You ok to commit this? > Improve thread safety of HTablePool > --- > > Key: HBASE-6651 > URL: https://issues.apache.org/jira/browse/HBASE-6651 > Project: HBase > Issue Type: Bug > Components: Client >Affects Versions: 0.94.1 >Reporter: Hiroshi Ikeda >Assignee: Hiroshi Ikeda >Priority: Minor > Fix For: 0.96.0 > > Attachments: HBASE-6651.patch, HBASE-6651-V2.patch, > HBASE-6651-V3.patch, HBASE-6651-V4.patch, HBASE-6651-V5.patch, > HBASE-6651-V6.patch, sample.zip, sample.zip, sharedmap_for_hbaseclient.zip > > > There are some operations in HTablePool to access to PoolMap in multiple > times without any explict synchronization. > For example HTablePool.closeTablePool() calles PoolMap.values(), and calles > PoolMap.remove(). If other threads add new instances to the pool in the > middle of the calls, the new added instances might be dropped. > (HTablePool.closeTablePool() also has another problem that calling it by > multple threads causes accessing HTable by multiple threads.) > Moreover, PoolMap is not thread safe for the same reason. > For example PoolMap.put() calles ConcurrentMap.get() and calles > ConcurrentMap.put(). If other threads add a new instance to the concurent map > in the middle of the calls, the new instance might be dropped. > And also implementations of Pool have the same problems. -- 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