HBase
  1. HBase
  2. HBASE-6651

Improve thread safety of HTablePool

    Details

    • Type: Bug Bug
    • Status: Patch Available
    • Priority: Major Major
    • Resolution: Unresolved
    • Affects Version/s: 0.94.1
    • Fix Version/s: None
    • Component/s: Client
    • Labels:
      None

      Description

      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.

      1. HBASE-6651.patch
        73 kB
        Hiroshi Ikeda
      2. HBASE-6651-V10.patch
        108 kB
        Hiroshi Ikeda
      3. HBASE-6651-V11.patch
        109 kB
        Hiroshi Ikeda
      4. HBASE-6651-V12.patch
        117 kB
        Hiroshi Ikeda
      5. HBASE-6651-V13.patch
        130 kB
        Hiroshi Ikeda
      6. HBASE-6651-V14-0.96.patch
        85 kB
        Hiroshi Ikeda
      7. HBASE-6651-V14-0.98.patch
        84 kB
        Hiroshi Ikeda
      8. HBASE-6651-V14-trunk.patch
        83 kB
        Hiroshi Ikeda
      9. HBASE-6651-V15-0.96.patch
        85 kB
        Hiroshi Ikeda
      10. HBASE-6651-V15-0.98.patch
        85 kB
        Hiroshi Ikeda
      11. HBASE-6651-V15-trunk.patch
        83 kB
        Hiroshi Ikeda
      12. HBASE-6651-V16-0.96.patch
        90 kB
        Hiroshi Ikeda
      13. HBASE-6651-V16-0.98.patch
        90 kB
        Hiroshi Ikeda
      14. HBASE-6651-V16-trunk.patch
        89 kB
        Hiroshi Ikeda
      15. HBASE-6651-V2.patch
        78 kB
        Hiroshi Ikeda
      16. HBASE-6651-V3.patch
        81 kB
        Ted Yu
      17. HBASE-6651-V4.patch
        83 kB
        Hiroshi Ikeda
      18. HBASE-6651-V5.patch
        83 kB
        Hiroshi Ikeda
      19. HBASE-6651-V6.patch
        86 kB
        Hiroshi Ikeda
      20. HBASE-6651-V7.patch
        87 kB
        Hiroshi Ikeda
      21. HBASE-6651-V8.patch
        95 kB
        Hiroshi Ikeda
      22. HBASE-6651-V9.patch
        103 kB
        Hiroshi Ikeda
      23. sample.zip
        7 kB
        Hiroshi Ikeda
      24. sample.zip
        7 kB
        Hiroshi Ikeda
      25. sharedmap_for_hbaseclient.zip
        6 kB
        Hiroshi Ikeda

        Issue Links

          Activity

          Hiroshi Ikeda created issue -
          Hide
          Hiroshi Ikeda added a comment -
          • I think ThreadLocalPool is useless and dangerous. You never access a content in ThreadLocal from other threads, and if you require information in the content to dispose its container object or something, you must collect the information by using all the thread that you ever used to access.
          • RoundRobinPool might give the same object to different threads.
          • It is bad to use conccurent collections. We should explictly lock larger sections to keep consistency, or remove synchronization concerns from PoolMap with using explicit locks from outside of PoolMap.
          • PoolMap breaks the contract of Map; The actual behaviors of the methods of PoolMap are vague. Also filling out the methods of Map causes the code dirty. We should simplify the code by removing the needless implementation at the start.
          Show
          Hiroshi Ikeda added a comment - I think ThreadLocalPool is useless and dangerous. You never access a content in ThreadLocal from other threads, and if you require information in the content to dispose its container object or something, you must collect the information by using all the thread that you ever used to access. RoundRobinPool might give the same object to different threads. It is bad to use conccurent collections. We should explictly lock larger sections to keep consistency, or remove synchronization concerns from PoolMap with using explicit locks from outside of PoolMap. PoolMap breaks the contract of Map; The actual behaviors of the methods of PoolMap are vague. Also filling out the methods of Map causes the code dirty. We should simplify the code by removing the needless implementation at the start.
          Hide
          stack added a comment -

          @Hiroshi Thank you for digging in here. ThreadLocalPool was added by HBASE-2938 a while back. On #1, what do you see as implications? If its a pool of threads and all are using threadlocal, what would they need to share info? Can you say more on points #2 and #3 above? What do you suggest we do? Purge ThreadLocalPool? Thanks.

          Show
          stack added a comment - @Hiroshi Thank you for digging in here. ThreadLocalPool was added by HBASE-2938 a while back. On #1, what do you see as implications? If its a pool of threads and all are using threadlocal, what would they need to share info? Can you say more on points #2 and #3 above? What do you suggest we do? Purge ThreadLocalPool? Thanks.
          Hide
          Hiroshi Ikeda added a comment -

          Added sample implementation to pool HTables.

          Show
          Hiroshi Ikeda added a comment - Added sample implementation to pool HTables.
          Hiroshi Ikeda made changes -
          Field Original Value New Value
          Attachment sample.zip [ 12545703 ]
          Hide
          Hiroshi Ikeda added a comment -

          On #2, RoundRobinPool simply gives the next pooled resource for the next caller, and after taking a round it gives the pooled resource again, but the resource might be yet used. RoundRobinPool has the following code:

          class RoundRobinPool<R> extends CopyOnWriteArrayList<R> implements Pool<R> {
          ...
          @Override
          public R get() {
            if (size() < maxSize) {
              return null;
            }
            nextResource %= size();
            R resource = get(nextResource++);
            return resource;
          }
          

          On #3, in general concurrent collections have the advantage of peformance in multi-threads because they are not blocked and don't cause context switches, which have large overhead. But in other word you cannot use concurrent collections to block other threads in order to make critical sections where only one thread may run. There are some tips to create unblocking codes with using concurrent utilities, but in general it is difficult for complex logics.

          On #1, I'm not sure what to say, but ThreadLocal might bind tasks to specific threads, which is hard to use and is appropriate only for some restricted cases.

          Show
          Hiroshi Ikeda added a comment - On #2, RoundRobinPool simply gives the next pooled resource for the next caller, and after taking a round it gives the pooled resource again, but the resource might be yet used. RoundRobinPool has the following code: class RoundRobinPool<R> extends CopyOnWriteArrayList<R> implements Pool<R> { ... @Override public R get() { if (size() < maxSize) { return null ; } nextResource %= size(); R resource = get(nextResource++); return resource; } On #3, in general concurrent collections have the advantage of peformance in multi-threads because they are not blocked and don't cause context switches, which have large overhead. But in other word you cannot use concurrent collections to block other threads in order to make critical sections where only one thread may run. There are some tips to create unblocking codes with using concurrent utilities, but in general it is difficult for complex logics. On #1, I'm not sure what to say, but ThreadLocal might bind tasks to specific threads, which is hard to use and is appropriate only for some restricted cases.
          Hide
          stack added a comment -

          What you suggest we do instead Hiroshi?

          Show
          stack added a comment - What you suggest we do instead Hiroshi?
          Hide
          Hiroshi Ikeda added a comment -

          Added revised sample implementation to pool HTables; Fixed wrong name of classes, fixed memory leak, and renamed internal fields.

          Show
          Hiroshi Ikeda added a comment - Added revised sample implementation to pool HTables; Fixed wrong name of classes, fixed memory leak, and renamed internal fields.
          Hiroshi Ikeda made changes -
          Attachment sample.zip [ 12545833 ]
          Hide
          Hiroshi Ikeda added a comment -

          @stack I can only propose some ideas because I don't have an environment to build and test HBase, and I hope you create true codes.

          Show
          Hiroshi Ikeda added a comment - @stack I can only propose some ideas because I don't have an environment to build and test HBase, and I hope you create true codes.
          Hide
          Hiroshi Ikeda added a comment -

          Sorry I didn't realize that PoolMap is also used in HBaseClient, and it is inteneded that the round robin logic gives the same thread-safe object to different threads and sticks to the limit count of the resources (aside from the other factors to break thread-safety of PoolMap). Apparently the requirements of pooling differ in HTablePool and HBaseClient.

          Show
          Hiroshi Ikeda added a comment - Sorry I didn't realize that PoolMap is also used in HBaseClient, and it is inteneded that the round robin logic gives the same thread-safe object to different threads and sticks to the limit count of the resources (aside from the other factors to break thread-safety of PoolMap). Apparently the requirements of pooling differ in HTablePool and HBaseClient.
          Hide
          Hiroshi Ikeda added a comment -

          Added sample implementation which might be used to pool and share Connection instances between threads in HBaseClient. I use the name SharedMap, the old name of PoolMap.

          In HBaseClient I think PoolMap with ThreadLocalPool leaks objects. Connection (extending Thead) automatically tries to remove itself from the pool at the end of its life, but its thread is different from the thread which created the instance of Connection and put into the pool.

          Show
          Hiroshi Ikeda added a comment - Added sample implementation which might be used to pool and share Connection instances between threads in HBaseClient. I use the name SharedMap, the old name of PoolMap. In HBaseClient I think PoolMap with ThreadLocalPool leaks objects. Connection (extending Thead) automatically tries to remove itself from the pool at the end of its life, but its thread is different from the thread which created the instance of Connection and put into the pool.
          Hiroshi Ikeda made changes -
          Attachment sharedmap_for_hbaseclient.zip [ 12546064 ]
          Hide
          stack added a comment -

          Hiroshi Your work is more palatable as a patch rather than zip file. This might be of use to you: http://hbase.apache.org/book.html#submitting.patches Thanks for looking into this stuff.

          Show
          stack added a comment - Hiroshi Your work is more palatable as a patch rather than zip file. This might be of use to you: http://hbase.apache.org/book.html#submitting.patches Thanks for looking into this stuff.
          Hide
          Hiroshi Ikeda added a comment -

          Added a patch.

          Added a new interface SharedMap, and added its implementations and unit tests, and made HBaseClient and HTablePool use SharedMap instead of PoolMap. The API of HTablePool is marked as “stable” and some constructors of HTablePool uses a static nested class PoolMap.PoolType, and I’m not sure how to add Deprecated marker partially to PoolMap, so I did nothing about it.

          I don’t have environment to run the whole test of HBase, and except tests added for SharedMap I only confirm that Eclipse can compile the patched code (where the projects are imported as “existing maven projects” from the trunk). I hope it will work well.

          I purged ThreadLocal base logic from HBaseClient (that logic is terrible and I never believe that works well). Instead, I complicate the Round-Robin based logic to prefer to give idle connections to requesters. I think, this is the same reason why the ThreadLocal based logic makes high performance. Moreover, in order to find idle objects in the pool, SharedMap has different methods from PoolMap, and I rewrote and fixed many parts of HBaseClient. On the other hand fixing HTablePool to SharedMap is straightforward and I think I have no additional explanations about it.

          Show
          Hiroshi Ikeda added a comment - Added a patch. Added a new interface SharedMap, and added its implementations and unit tests, and made HBaseClient and HTablePool use SharedMap instead of PoolMap. The API of HTablePool is marked as “stable” and some constructors of HTablePool uses a static nested class PoolMap.PoolType, and I’m not sure how to add Deprecated marker partially to PoolMap, so I did nothing about it. I don’t have environment to run the whole test of HBase, and except tests added for SharedMap I only confirm that Eclipse can compile the patched code (where the projects are imported as “existing maven projects” from the trunk). I hope it will work well. I purged ThreadLocal base logic from HBaseClient (that logic is terrible and I never believe that works well). Instead, I complicate the Round-Robin based logic to prefer to give idle connections to requesters. I think, this is the same reason why the ThreadLocal based logic makes high performance. Moreover, in order to find idle objects in the pool, SharedMap has different methods from PoolMap, and I rewrote and fixed many parts of HBaseClient. On the other hand fixing HTablePool to SharedMap is straightforward and I think I have no additional explanations about it.
          Hiroshi Ikeda made changes -
          Attachment HBASE-6651.patch [ 12548722 ]
          Hide
          Ted Yu added a comment -

          I got two test failures from TestHTablePool:

          testCloseTablePool(org.apache.hadoop.hbase.client.TestHTablePool$TestHTableReusablePool)  Time elapsed: 3.189 sec  <<< FAILURE!
          junit.framework.AssertionFailedError: expected:<4> but was:<0>
            at junit.framework.Assert.fail(Assert.java:50)
            at junit.framework.Assert.failNotEquals(Assert.java:287)
            at junit.framework.Assert.assertEquals(Assert.java:67)
            at junit.framework.Assert.assertEquals(Assert.java:199)
            at junit.framework.Assert.assertEquals(Assert.java:205)
            at org.apache.hadoop.hbase.client.TestHTablePool$TestHTableReusablePool.testCloseTablePool(TestHTablePool.java:252)
          ...
          testCloseTablePool(org.apache.hadoop.hbase.client.TestHTablePool$TestHTableThreadLocalPool)  Time elapsed: 3.095 sec  <<< FAILURE!
          junit.framework.AssertionFailedError: expected:<1> but was:<0>
            at junit.framework.Assert.fail(Assert.java:50)
            at junit.framework.Assert.failNotEquals(Assert.java:287)
            at junit.framework.Assert.assertEquals(Assert.java:67)
            at junit.framework.Assert.assertEquals(Assert.java:199)
            at junit.framework.Assert.assertEquals(Assert.java:205)
            at org.apache.hadoop.hbase.client.TestHTablePool$TestHTableThreadLocalPool.testCloseTablePool(TestHTablePool.java:328)
          

          BTW, the following hunk for HBaseClient.java should be rebased:

          ***************
          *** 402,412 ****
                  }
                  this.header = builder.build();
          
          -       this.setName("IPC Client (" + socketFactory.hashCode() +") connection to " +
                    remoteId.getAddress().toString() +
                    ((ticket==null)?" from an unknown user": (" from "
          -         + ticket.getUserName())));
          -       this.setDaemon(true);
                }
          
                private UserInformation getUserInfoPB(UserGroupInformation ugi) {
          --- 482,491 ----
                  }
                  this.header = builder.build();
          
          +       this.name = "IPC Client (" + socketFactory.hashCode() +") connection to " +
                    remoteId.getAddress().toString() +
                    ((ticket==null)?" from an unknown user": (" from "
          +         + ticket.getUserName()));
                }
          
                private UserInformation getUserInfoPB(UserGroupInformation ugi) {
          

          More review comments to follow.

          Show
          Ted Yu added a comment - I got two test failures from TestHTablePool: testCloseTablePool(org.apache.hadoop.hbase.client.TestHTablePool$TestHTableReusablePool) Time elapsed: 3.189 sec <<< FAILURE! junit.framework.AssertionFailedError: expected:<4> but was:<0> at junit.framework.Assert.fail(Assert.java:50) at junit.framework.Assert.failNotEquals(Assert.java:287) at junit.framework.Assert.assertEquals(Assert.java:67) at junit.framework.Assert.assertEquals(Assert.java:199) at junit.framework.Assert.assertEquals(Assert.java:205) at org.apache.hadoop.hbase.client.TestHTablePool$TestHTableReusablePool.testCloseTablePool(TestHTablePool.java:252) ... testCloseTablePool(org.apache.hadoop.hbase.client.TestHTablePool$TestHTableThreadLocalPool) Time elapsed: 3.095 sec <<< FAILURE! junit.framework.AssertionFailedError: expected:<1> but was:<0> at junit.framework.Assert.fail(Assert.java:50) at junit.framework.Assert.failNotEquals(Assert.java:287) at junit.framework.Assert.assertEquals(Assert.java:67) at junit.framework.Assert.assertEquals(Assert.java:199) at junit.framework.Assert.assertEquals(Assert.java:205) at org.apache.hadoop.hbase.client.TestHTablePool$TestHTableThreadLocalPool.testCloseTablePool(TestHTablePool.java:328) BTW, the following hunk for HBaseClient.java should be rebased: *************** *** 402,412 **** } this .header = builder.build(); - this .setName( "IPC Client (" + socketFactory.hashCode() + ") connection to " + remoteId.getAddress().toString() + ((ticket== null )? " from an unknown user" : ( " from " - + ticket.getUserName()))); - this .setDaemon( true ); } private UserInformation getUserInfoPB(UserGroupInformation ugi) { --- 482,491 ---- } this .header = builder.build(); + this .name = "IPC Client (" + socketFactory.hashCode() + ") connection to " + remoteId.getAddress().toString() + ((ticket== null )? " from an unknown user" : ( " from " + + ticket.getUserName())); } private UserInformation getUserInfoPB(UserGroupInformation ugi) { More review comments to follow.
          Hide
          Ted Yu added a comment -

          Please use dos2unix or similar tool to remove trailing ^M's from the patch.

          + * the type {@code V} is assumed that different instances of it are not equal.^M
          + */^M
          +@InterfaceAudience.Public^M
          +@InterfaceStability.Unstable^M
          +public class ReusableSharedMap<K, V> extends AbstractSharedMap<K, V> {^M
          

          Did you mean 'the type

          {@code V}

          assumes that ...' above ?
          Suggest tagging the class with @InterfaceStability.Evolving instead of Unstable

          +   * Registers a new instance to this instance.^M
          

          Suggest changing the above to 'a new Key/Value pair to this instance'.

          +   * If this method returns false, the the registration of the given object expires.^M
          +   * You might have to tear down the rejected object.^M
          +   *^M
          +   * @throws NullPointerException if {@code key} or {@code value} is null^M
          +   */^M
          +  boolean returnObject(K key, V value);^M
          

          Can you tell us under what scenario returnObject() would cause given object to expire ?
          I see the following check recurring in the patch:

          +    if (counter == null || counter.value != value) {^M
          

          Should value.equals() be used instead ?

          Using https://reviews.apache.org would facilitate code review. You should select hbase-git repository.

          Show
          Ted Yu added a comment - Please use dos2unix or similar tool to remove trailing ^M's from the patch. + * the type {@code V} is assumed that different instances of it are not equal.^M + */^M +@InterfaceAudience.Public^M +@InterfaceStability.Unstable^M + public class ReusableSharedMap<K, V> extends AbstractSharedMap<K, V> {^M Did you mean 'the type {@code V} assumes that ...' above ? Suggest tagging the class with @InterfaceStability.Evolving instead of Unstable + * Registers a new instance to this instance.^M Suggest changing the above to 'a new Key/Value pair to this instance'. + * If this method returns false , the the registration of the given object expires.^M + * You might have to tear down the rejected object.^M + *^M + * @ throws NullPointerException if {@code key} or {@code value} is null ^M + */^M + boolean returnObject(K key, V value);^M Can you tell us under what scenario returnObject() would cause given object to expire ? I see the following check recurring in the patch: + if (counter == null || counter.value != value) {^M Should value.equals() be used instead ? Using https://reviews.apache.org would facilitate code review. You should select hbase-git repository.
          Hide
          Hiroshi Ikeda added a comment -

          Thanks for the reviews. Now I added a revised patch.

          (1) In order to pass the tests for HTablePool, I changed both of HTablePool and its tests, but I think it keeps backward compatibility from the point of view of users.

          I changed the behavior of HTablePool.closeTablePool(). The previous behavior is vague and differs in its implementations, and I think that is far from “shutdown” described in the javadoc. I changed the behavior to not only closing idle objects at the moment, but making kind of reservation to close the rest of objects when they return into the pool.

          Also I removed the package private method HTablePool.getCurrentPoolSize(). Its behavior differed in its implementations and exposed implementation details, and it was only used in tests and hidden from users because of package private. Instead, I created a class implementing HTableInterfaceFactory to count pooled objects, and I added the class into tests and fixed the tests.

          Fortunately HTableProol doesn’t expose details of the pooling, and the new behavior is more eager to close objects than the previous behaviors, then I think the new behavior has enough backward compatibility.

          I think the tests will pass, but still I have no environment to run the tests.

          (2) I created the previous patch with git with the option --ignore-space-at-eol, and it seems to cause failure in applying the patch. I created this patch without that option.

          (3) Fixed line delimiters.

          (4) Fixed java doc comments, and fixed to entirely use equals methods for pooled objects.
          Usually, objects we want to pool are heavy to create and are not replaceable. And the operator == is preferable to equals() in order to identify them. But there are few collections based on the sameness rather than equality, and sticking to the sameness will require extra efforts to create collections based on the sameness. Unless we must prepare malicious overriding equals/hashCode, the extra effort is fruitless, and I wanted to make do with the notice in the javadoc.

          (5) Used @InterfaceStability.Evolving

          (6) Once you get the pooled object by SharedMap.borrowObject() or register the object by SharedMap.registerObject(), you have to declare the end of using the borrowed object by calling SharedMap.returnObject() or SharedMap.invalidateObject(). On the other hand, you can call SharedMap.invalidateObject() and SharedMap.clear() at any place on any thread. SharedMap.returnObject() returns false if the pool is already full, or invalidateObject() or clear() method has been called explicitly in other place.

          (7) Well, I need more time to study how to use https://reviews.apache.org

          Show
          Hiroshi Ikeda added a comment - Thanks for the reviews. Now I added a revised patch. (1) In order to pass the tests for HTablePool, I changed both of HTablePool and its tests, but I think it keeps backward compatibility from the point of view of users. I changed the behavior of HTablePool.closeTablePool(). The previous behavior is vague and differs in its implementations, and I think that is far from “shutdown” described in the javadoc. I changed the behavior to not only closing idle objects at the moment, but making kind of reservation to close the rest of objects when they return into the pool. Also I removed the package private method HTablePool.getCurrentPoolSize(). Its behavior differed in its implementations and exposed implementation details, and it was only used in tests and hidden from users because of package private. Instead, I created a class implementing HTableInterfaceFactory to count pooled objects, and I added the class into tests and fixed the tests. Fortunately HTableProol doesn’t expose details of the pooling, and the new behavior is more eager to close objects than the previous behaviors, then I think the new behavior has enough backward compatibility. I think the tests will pass, but still I have no environment to run the tests. (2) I created the previous patch with git with the option --ignore-space-at-eol, and it seems to cause failure in applying the patch. I created this patch without that option. (3) Fixed line delimiters. (4) Fixed java doc comments, and fixed to entirely use equals methods for pooled objects. Usually, objects we want to pool are heavy to create and are not replaceable. And the operator == is preferable to equals() in order to identify them. But there are few collections based on the sameness rather than equality, and sticking to the sameness will require extra efforts to create collections based on the sameness. Unless we must prepare malicious overriding equals/hashCode, the extra effort is fruitless, and I wanted to make do with the notice in the javadoc. (5) Used @InterfaceStability.Evolving (6) Once you get the pooled object by SharedMap.borrowObject() or register the object by SharedMap.registerObject(), you have to declare the end of using the borrowed object by calling SharedMap.returnObject() or SharedMap.invalidateObject(). On the other hand, you can call SharedMap.invalidateObject() and SharedMap.clear() at any place on any thread. SharedMap.returnObject() returns false if the pool is already full, or invalidateObject() or clear() method has been called explicitly in other place. (7) Well, I need more time to study how to use https://reviews.apache.org
          Hiroshi Ikeda made changes -
          Attachment HBASE-6651-V2.patch [ 12549457 ]
          Ted Yu made changes -
          Status Open [ 1 ] Patch Available [ 10002 ]
          Hide
          Ted Yu added a comment -

          SharedMap.returnObject() returns false if the pool is already full, or invalidateObject() or clear() method has been called explicitly in other place.

          Can you explain why calling clear() followed by returnObject() would result in return value of false ? There is space in SharedMap at this moment, right ?

          I will put my other comments on the reviewboard.

          Hadoop QA is running your patch: https://builds.apache.org/job/PreCommit-HBASE-Build/3065/parameters/

          Show
          Ted Yu added a comment - SharedMap.returnObject() returns false if the pool is already full, or invalidateObject() or clear() method has been called explicitly in other place. Can you explain why calling clear() followed by returnObject() would result in return value of false ? There is space in SharedMap at this moment, right ? I will put my other comments on the reviewboard. Hadoop QA is running your patch: https://builds.apache.org/job/PreCommit-HBASE-Build/3065/parameters/
          Hide
          Hadoop QA added a comment -

          -1 overall. Here are the results of testing the latest attachment
          http://issues.apache.org/jira/secure/attachment/12549457/HBASE-6651-V2.patch
          against trunk revision .

          +1 @author. The patch does not contain any @author tags.

          +1 tests included. The patch appears to include 11 new or modified tests.

          +1 hadoop2.0. The patch compiles against the hadoop 2.0 profile.

          -1 javadoc. The javadoc tool appears to have generated 83 warning messages.

          +1 javac. The applied patch does not increase the total number of javac compiler warnings.

          -1 findbugs. The patch appears to introduce 3 new Findbugs (version 1.3.9) warnings.

          +1 release audit. The applied patch does not increase the total number of release audit warnings.

          +1 core tests. The patch passed unit tests in .

          Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/3065//testReport/
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/3065//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop2-compat.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/3065//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-server.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/3065//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop1-compat.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/3065//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-common.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/3065//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html
          Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/3065//console

          This message is automatically generated.

          Show
          Hadoop QA added a comment - -1 overall . Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12549457/HBASE-6651-V2.patch against trunk revision . +1 @author . The patch does not contain any @author tags. +1 tests included . The patch appears to include 11 new or modified tests. +1 hadoop2.0 . The patch compiles against the hadoop 2.0 profile. -1 javadoc . The javadoc tool appears to have generated 83 warning messages. +1 javac . The applied patch does not increase the total number of javac compiler warnings. -1 findbugs . The patch appears to introduce 3 new Findbugs (version 1.3.9) warnings. +1 release audit . The applied patch does not increase the total number of release audit warnings. +1 core tests . The patch passed unit tests in . Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/3065//testReport/ Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/3065//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop2-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/3065//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-server.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/3065//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop1-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/3065//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-common.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/3065//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/3065//console This message is automatically generated.
          Hide
          Hiroshi Ikeda added a comment -

          Can you explain why calling clear() followed by returnObject() would result in return value of false ? There is space in SharedMap at this moment, right ?

          SharedMap holds a collection of registered objects independent of whether the objects are pooled or borrowed, and SharedMap.invalidateObject() and SharedMap.clear() remove the specified object(s) from the collection. SharedMap.returnObject() always does nothing and returns false if the given object is not found in the collection. Filling a space of the registered objects is done by SharedMap.registerObject(), not SharedMap.returnObject().

          Show
          Hiroshi Ikeda added a comment - Can you explain why calling clear() followed by returnObject() would result in return value of false ? There is space in SharedMap at this moment, right ? SharedMap holds a collection of registered objects independent of whether the objects are pooled or borrowed, and SharedMap.invalidateObject() and SharedMap.clear() remove the specified object(s) from the collection. SharedMap.returnObject() always does nothing and returns false if the given object is not found in the collection. Filling a space of the registered objects is done by SharedMap.registerObject(), not SharedMap.returnObject().
          Hide
          Ted Yu added a comment -

          Patch v3 from review board.

          Show
          Ted Yu added a comment - Patch v3 from review board.
          Ted Yu made changes -
          Attachment HBASE-6651-V3.patch [ 12550486 ]
          Hide
          Hadoop QA added a comment -

          -1 overall. Here are the results of testing the latest attachment
          http://issues.apache.org/jira/secure/attachment/12550486/HBASE-6651-V3.patch
          against trunk revision .

          +1 @author. The patch does not contain any @author tags.

          +1 tests included. The patch appears to include 11 new or modified tests.

          +1 hadoop2.0. The patch compiles against the hadoop 2.0 profile.

          -1 javadoc. The javadoc tool appears to have generated 88 warning messages.

          +1 javac. The applied patch does not increase the total number of javac compiler warnings.

          +1 findbugs. The patch does not introduce any new Findbugs (version 1.3.9) warnings.

          +1 release audit. The applied patch does not increase the total number of release audit warnings.

          +1 core tests. The patch passed unit tests in .

          Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/3126//testReport/
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/3126//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop2-compat.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/3126//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop1-compat.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/3126//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-common.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/3126//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-server.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/3126//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html
          Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/3126//console

          This message is automatically generated.

          Show
          Hadoop QA added a comment - -1 overall . Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12550486/HBASE-6651-V3.patch against trunk revision . +1 @author . The patch does not contain any @author tags. +1 tests included . The patch appears to include 11 new or modified tests. +1 hadoop2.0 . The patch compiles against the hadoop 2.0 profile. -1 javadoc . The javadoc tool appears to have generated 88 warning messages. +1 javac . The applied patch does not increase the total number of javac compiler warnings. +1 findbugs . The patch does not introduce any new Findbugs (version 1.3.9) warnings. +1 release audit . The applied patch does not increase the total number of release audit warnings. +1 core tests . The patch passed unit tests in . Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/3126//testReport/ Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/3126//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop2-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/3126//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop1-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/3126//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-common.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/3126//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-server.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/3126//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/3126//console This message is automatically generated.
          Hide
          Hiroshi Ikeda added a comment -

          Patch v4 from review board.

          Show
          Hiroshi Ikeda added a comment - Patch v4 from review board.
          Hiroshi Ikeda made changes -
          Attachment HBASE-6651-V4.patch [ 12550744 ]
          Hide
          Hadoop QA added a comment -

          -1 overall. Here are the results of testing the latest attachment
          http://issues.apache.org/jira/secure/attachment/12550744/HBASE-6651-V4.patch
          against trunk revision .

          +1 @author. The patch does not contain any @author tags.

          +1 tests included. The patch appears to include 11 new or modified tests.

          +1 hadoop2.0. The patch compiles against the hadoop 2.0 profile.

          -1 javadoc. The javadoc tool appears to have generated 92 warning messages.

          +1 javac. The applied patch does not increase the total number of javac compiler warnings.

          +1 findbugs. The patch does not introduce any new Findbugs (version 1.3.9) warnings.

          +1 release audit. The applied patch does not increase the total number of release audit warnings.

          -1 core tests. The patch failed these unit tests:
          org.apache.hadoop.hbase.client.TestFromClientSideWithCoprocessor

          Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/3145//testReport/
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/3145//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop2-compat.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/3145//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-server.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/3145//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop1-compat.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/3145//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-common.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/3145//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html
          Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/3145//console

          This message is automatically generated.

          Show
          Hadoop QA added a comment - -1 overall . Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12550744/HBASE-6651-V4.patch against trunk revision . +1 @author . The patch does not contain any @author tags. +1 tests included . The patch appears to include 11 new or modified tests. +1 hadoop2.0 . The patch compiles against the hadoop 2.0 profile. -1 javadoc . The javadoc tool appears to have generated 92 warning messages. +1 javac . The applied patch does not increase the total number of javac compiler warnings. +1 findbugs . The patch does not introduce any new Findbugs (version 1.3.9) warnings. +1 release audit . The applied patch does not increase the total number of release audit warnings. -1 core tests . The patch failed these unit tests: org.apache.hadoop.hbase.client.TestFromClientSideWithCoprocessor Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/3145//testReport/ Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/3145//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop2-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/3145//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-server.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/3145//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop1-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/3145//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-common.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/3145//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/3145//console This message is automatically generated.
          Hide
          Ted Yu added a comment -

          It would be nice for another committer to check out this nice patch.

          Show
          Ted Yu added a comment - It would be nice for another committer to check out this nice patch.
          Hide
          Lars Hofhansl added a comment -

          Karthick Sankarachary Do you want to have a look?

          Show
          Lars Hofhansl added a comment - Karthick Sankarachary Do you want to have a look?
          Hide
          Hiroshi Ikeda added a comment -

          Patch v5 from review board.

          Show
          Hiroshi Ikeda added a comment - Patch v5 from review board.
          Hiroshi Ikeda made changes -
          Attachment HBASE-6651-V5.patch [ 12550927 ]
          Hide
          Hadoop QA added a comment -

          -1 overall. Here are the results of testing the latest attachment
          http://issues.apache.org/jira/secure/attachment/12550927/HBASE-6651-V5.patch
          against trunk revision .

          +1 @author. The patch does not contain any @author tags.

          +1 tests included. The patch appears to include 11 new or modified tests.

          +1 hadoop2.0. The patch compiles against the hadoop 2.0 profile.

          -1 javadoc. The javadoc tool appears to have generated 95 warning messages.

          +1 javac. The applied patch does not increase the total number of javac compiler warnings.

          -1 findbugs. The patch appears to introduce 1 new Findbugs (version 1.3.9) warnings.

          +1 release audit. The applied patch does not increase the total number of release audit warnings.

          -1 core tests. The patch failed these unit tests:
          org.apache.hadoop.hbase.client.TestFromClientSideWithCoprocessor

          Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/3154//testReport/
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/3154//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop2-compat.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/3154//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-server.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/3154//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop1-compat.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/3154//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-common.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/3154//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html
          Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/3154//console

          This message is automatically generated.

          Show
          Hadoop QA added a comment - -1 overall . Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12550927/HBASE-6651-V5.patch against trunk revision . +1 @author . The patch does not contain any @author tags. +1 tests included . The patch appears to include 11 new or modified tests. +1 hadoop2.0 . The patch compiles against the hadoop 2.0 profile. -1 javadoc . The javadoc tool appears to have generated 95 warning messages. +1 javac . The applied patch does not increase the total number of javac compiler warnings. -1 findbugs . The patch appears to introduce 1 new Findbugs (version 1.3.9) warnings. +1 release audit . The applied patch does not increase the total number of release audit warnings. -1 core tests . The patch failed these unit tests: org.apache.hadoop.hbase.client.TestFromClientSideWithCoprocessor Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/3154//testReport/ Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/3154//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop2-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/3154//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-server.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/3154//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop1-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/3154//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-common.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/3154//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/3154//console This message is automatically generated.
          Hide
          Hiroshi Ikeda added a comment -

          Patch v6 from review board.
          Sorry frequent update.

          Show
          Hiroshi Ikeda added a comment - Patch v6 from review board. Sorry frequent update.
          Hiroshi Ikeda made changes -
          Attachment HBASE-6651-V6.patch [ 12550936 ]
          Hide
          Hadoop QA added a comment -

          -1 overall. Here are the results of testing the latest attachment
          http://issues.apache.org/jira/secure/attachment/12550936/HBASE-6651-V6.patch
          against trunk revision .

          +1 @author. The patch does not contain any @author tags.

          +1 tests included. The patch appears to include 15 new or modified tests.

          +1 hadoop2.0. The patch compiles against the hadoop 2.0 profile.

          -1 javadoc. The javadoc tool appears to have generated 95 warning messages.

          +1 javac. The applied patch does not increase the total number of javac compiler warnings.

          -1 findbugs. The patch appears to introduce 1 new Findbugs (version 1.3.9) warnings.

          +1 release audit. The applied patch does not increase the total number of release audit warnings.

          +1 core tests. The patch passed unit tests in .

          Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/3155//testReport/
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/3155//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop2-compat.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/3155//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop1-compat.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/3155//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-common.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/3155//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-server.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/3155//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html
          Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/3155//console

          This message is automatically generated.

          Show
          Hadoop QA added a comment - -1 overall . Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12550936/HBASE-6651-V6.patch against trunk revision . +1 @author . The patch does not contain any @author tags. +1 tests included . The patch appears to include 15 new or modified tests. +1 hadoop2.0 . The patch compiles against the hadoop 2.0 profile. -1 javadoc . The javadoc tool appears to have generated 95 warning messages. +1 javac . The applied patch does not increase the total number of javac compiler warnings. -1 findbugs . The patch appears to introduce 1 new Findbugs (version 1.3.9) warnings. +1 release audit . The applied patch does not increase the total number of release audit warnings. +1 core tests . The patch passed unit tests in . Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/3155//testReport/ Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/3155//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop2-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/3155//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop1-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/3155//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-common.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/3155//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-server.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/3155//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/3155//console This message is automatically generated.
          Ted Yu made changes -
          Summary Thread safety of HTablePool is doubtful Improve thread safety of HTablePool
          Hadoop Flags Reviewed [ 10343 ]
          Fix Version/s 0.96.0 [ 12320040 ]
          Ted Yu made changes -
          Assignee Hiroshi Ikeda [ ikeda ]
          Ted Yu made changes -
          Link This issue is related to HBASE-6956 [ HBASE-6956 ]
          Hide
          ramkrishna.s.vasudevan added a comment -

          Hiroshi 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?

          Show
          ramkrishna.s.vasudevan added a comment - Hiroshi 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?
          Hide
          Ted Yu added a comment -

          I sent our review request to dev@hbase
          Will wait some time before integration.

          Show
          Ted Yu added a comment - I sent our review request to dev@hbase Will wait some time before integration.
          Ted Yu made changes -
          Priority Minor [ 4 ] Major [ 3 ]
          Ted Yu made changes -
          Description 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.
          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.
          Hide
          Jesse Yates added a comment -

          Hiroshi 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

          Show
          Jesse Yates added a comment - Hiroshi 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
          Hide
          Hiroshi Ikeda added a comment -

          Patch v7 from review board.

          Show
          Hiroshi Ikeda added a comment - Patch v7 from review board.
          Hiroshi Ikeda made changes -
          Attachment HBASE-6651-V7.patch [ 12554470 ]
          Hide
          Hadoop QA added a comment -

          -1 overall. Here are the results of testing the latest attachment
          http://issues.apache.org/jira/secure/attachment/12554470/HBASE-6651-V7.patch
          against trunk revision .

          +1 @author. The patch does not contain any @author tags.

          +1 tests included. The patch appears to include 15 new or modified tests.

          +1 hadoop2.0. The patch compiles against the hadoop 2.0 profile.

          -1 javadoc. The javadoc tool appears to have generated 109 warning messages.

          +1 javac. The applied patch does not increase the total number of javac compiler warnings.

          -1 findbugs. The patch appears to introduce 22 new Findbugs (version 1.3.9) warnings.

          +1 release audit. The applied patch does not increase the total number of release audit warnings.

          -1 core tests. 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.

          Show
          Hadoop QA added a comment - -1 overall . Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12554470/HBASE-6651-V7.patch against trunk revision . +1 @author . The patch does not contain any @author tags. +1 tests included . The patch appears to include 15 new or modified tests. +1 hadoop2.0 . The patch compiles against the hadoop 2.0 profile. -1 javadoc . The javadoc tool appears to have generated 109 warning messages. +1 javac . The applied patch does not increase the total number of javac compiler warnings. -1 findbugs . The patch appears to introduce 22 new Findbugs (version 1.3.9) warnings. +1 release audit . The applied patch does not increase the total number of release audit warnings. -1 core tests . 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.
          Hide
          Hiroshi Ikeda added a comment -

          Patch v8 from review board.

          Show
          Hiroshi Ikeda added a comment - Patch v8 from review board.
          Hiroshi Ikeda made changes -
          Attachment HBASE-6651-V8.patch [ 12560157 ]
          Hide
          Hadoop QA added a comment -

          -1 overall. Here are the results of testing the latest attachment
          http://issues.apache.org/jira/secure/attachment/12560157/HBASE-6651-V8.patch
          against trunk revision .

          +1 @author. The patch does not contain any @author tags.

          +1 tests included. The patch appears to include 15 new or modified tests.

          +1 hadoop2.0. The patch compiles against the hadoop 2.0 profile.

          -1 javadoc. The javadoc tool appears to have generated 111 warning messages.

          +1 javac. The applied patch does not increase the total number of javac compiler warnings.

          -1 findbugs. The patch appears to introduce 20 new Findbugs (version 1.3.9) warnings.

          +1 release audit. The applied patch does not increase the total number of release audit warnings.

          -1 core tests. 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.

          Show
          Hadoop QA added a comment - -1 overall . Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12560157/HBASE-6651-V8.patch against trunk revision . +1 @author . The patch does not contain any @author tags. +1 tests included . The patch appears to include 15 new or modified tests. +1 hadoop2.0 . The patch compiles against the hadoop 2.0 profile. -1 javadoc . The javadoc tool appears to have generated 111 warning messages. +1 javac . The applied patch does not increase the total number of javac compiler warnings. -1 findbugs . The patch appears to introduce 20 new Findbugs (version 1.3.9) warnings. +1 release audit . The applied patch does not increase the total number of release audit warnings. -1 core tests . 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.
          Hide
          Hiroshi Ikeda added a comment -

          Patch v9 from review board.

          Show
          Hiroshi Ikeda added a comment - Patch v9 from review board.
          Hiroshi Ikeda made changes -
          Attachment HBASE-6651-V9.patch [ 12560501 ]
          Hide
          Lars Hofhansl added a comment -

          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.

          Show
          Lars Hofhansl added a comment - 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.
          Hide
          Hiroshi Ikeda added a comment -

          Patch v10 from review board.

          Show
          Hiroshi Ikeda added a comment - Patch v10 from review board.
          Hiroshi Ikeda made changes -
          Attachment HBASE-6651-V10.patch [ 12560716 ]
          Hide
          Hadoop QA added a comment -

          -1 overall. Here are the results of testing the latest attachment
          http://issues.apache.org/jira/secure/attachment/12560716/HBASE-6651-V10.patch
          against trunk revision .

          +1 @author. The patch does not contain any @author tags.

          +1 tests included. The patch appears to include 19 new or modified tests.

          +1 hadoop2.0. The patch compiles against the hadoop 2.0 profile.

          -1 javadoc. The javadoc tool appears to have generated 114 warning messages.

          +1 javac. The applied patch does not increase the total number of javac compiler warnings.

          -1 findbugs. The patch appears to introduce 20 new Findbugs (version 1.3.9) warnings.

          +1 release audit. The applied patch does not increase the total number of release audit warnings.

          +1 core tests. 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.

          Show
          Hadoop QA added a comment - -1 overall . Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12560716/HBASE-6651-V10.patch against trunk revision . +1 @author . The patch does not contain any @author tags. +1 tests included . The patch appears to include 19 new or modified tests. +1 hadoop2.0 . The patch compiles against the hadoop 2.0 profile. -1 javadoc . The javadoc tool appears to have generated 114 warning messages. +1 javac . The applied patch does not increase the total number of javac compiler warnings. -1 findbugs . The patch appears to introduce 20 new Findbugs (version 1.3.9) warnings. +1 release audit . The applied patch does not increase the total number of release audit warnings. +1 core tests . 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.
          Hide
          Hiroshi Ikeda added a comment -

          HTablePool is annotated as stable.
          That means we should not remove the class before 1.0.0

          Show
          Hiroshi Ikeda added a comment - HTablePool is annotated as stable. That means we should not remove the class before 1.0.0
          Hide
          Hadoop QA added a comment -

          -1 overall. Here are the results of testing the latest attachment
          http://issues.apache.org/jira/secure/attachment/12560716/HBASE-6651-V10.patch
          against trunk revision .

          +1 @author. The patch does not contain any @author tags.

          +1 tests included. The patch appears to include 19 new or modified tests.

          +1 hadoop2.0. The patch compiles against the hadoop 2.0 profile.

          -1 javadoc. The javadoc tool appears to have generated 114 warning messages.

          +1 javac. The applied patch does not increase the total number of javac compiler warnings.

          -1 findbugs. The patch appears to introduce 20 new Findbugs (version 1.3.9) warnings.

          +1 release audit. The applied patch does not increase the total number of release audit warnings.

          +1 core tests. 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.

          Show
          Hadoop QA added a comment - -1 overall . Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12560716/HBASE-6651-V10.patch against trunk revision . +1 @author . The patch does not contain any @author tags. +1 tests included . The patch appears to include 19 new or modified tests. +1 hadoop2.0 . The patch compiles against the hadoop 2.0 profile. -1 javadoc . The javadoc tool appears to have generated 114 warning messages. +1 javac . The applied patch does not increase the total number of javac compiler warnings. -1 findbugs . The patch appears to introduce 20 new Findbugs (version 1.3.9) warnings. +1 release audit . The applied patch does not increase the total number of release audit warnings. +1 core tests . 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.
          Hide
          Ted Yu added a comment -

          HTablePool is annotated as stable.

          +1 on keeping HTablePool in 0.96

          Show
          Ted Yu added a comment - HTablePool is annotated as stable. +1 on keeping HTablePool in 0.96
          Hide
          Lars Hofhansl added a comment -

          -1 on keeping it. It seems need an official vote.

          Show
          Lars Hofhansl added a comment - -1 on keeping it. It seems need an official vote.
          Hide
          Hiroshi Ikeda added a comment -

          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.

          Show
          Hiroshi Ikeda added a comment - 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.
          Hide
          Lars Hofhansl added a comment -

          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.

          Show
          Lars Hofhansl added a comment - 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.
          Hide
          Hiroshi Ikeda added a comment -

          Patch v11 from review board.

          Show
          Hiroshi Ikeda added a comment - Patch v11 from review board.
          Hiroshi Ikeda made changes -
          Attachment HBASE-6651-V11.patch [ 12561665 ]
          Hide
          Hadoop QA added a comment -

          -1 overall. Here are the results of testing the latest attachment
          http://issues.apache.org/jira/secure/attachment/12561665/HBASE-6651-V11.patch
          against trunk revision .

          +1 @author. The patch does not contain any @author tags.

          +1 tests included. The patch appears to include 19 new or modified tests.

          +1 hadoop2.0. The patch compiles against the hadoop 2.0 profile.

          +1 javadoc. The javadoc tool did not generate any warning messages.

          +1 javac. The applied patch does not increase the total number of javac compiler warnings.

          -1 findbugs. The patch appears to introduce 25 new Findbugs (version 1.3.9) warnings.

          +1 release audit. The applied patch does not increase the total number of release audit warnings.

          +1 core tests. The patch passed unit tests in .

          -1 core zombie tests. 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.

          Show
          Hadoop QA added a comment - -1 overall . Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12561665/HBASE-6651-V11.patch against trunk revision . +1 @author . The patch does not contain any @author tags. +1 tests included . The patch appears to include 19 new or modified tests. +1 hadoop2.0 . The patch compiles against the hadoop 2.0 profile. +1 javadoc . The javadoc tool did not generate any warning messages. +1 javac . The applied patch does not increase the total number of javac compiler warnings. -1 findbugs . The patch appears to introduce 25 new Findbugs (version 1.3.9) warnings. +1 release audit . The applied patch does not increase the total number of release audit warnings. +1 core tests . The patch passed unit tests in . -1 core zombie tests . 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.
          Hide
          Hiroshi Ikeda added a comment -

          Patch v12 from review board.

          Show
          Hiroshi Ikeda added a comment - Patch v12 from review board.
          Hiroshi Ikeda made changes -
          Attachment HBASE-6651-V12.patch [ 12562044 ]
          Hide
          Hadoop QA added a comment -

          -1 overall. Here are the results of testing the latest attachment
          http://issues.apache.org/jira/secure/attachment/12562044/HBASE-6651-V12.patch
          against trunk revision .

          +1 @author. The patch does not contain any @author tags.

          +1 tests included. The patch appears to include 22 new or modified tests.

          -1 patch. 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.

          Show
          Hadoop QA added a comment - -1 overall . Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12562044/HBASE-6651-V12.patch against trunk revision . +1 @author . The patch does not contain any @author tags. +1 tests included . The patch appears to include 22 new or modified tests. -1 patch . 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.
          Lars Hofhansl made changes -
          Link This issue relates to HBASE-7463 [ HBASE-7463 ]
          Hide
          stack added a comment -

          Can we have the vote on HTablePool? Lars Hofhansl You want to run it? We should get rid of it in 0.96 if its going to go.

          Show
          stack added a comment - Can we have the vote on HTablePool? Lars Hofhansl You want to run it? We should get rid of it in 0.96 if its going to go.
          stack made changes -
          Fix Version/s 0.95.0 [ 12324094 ]
          Fix Version/s 0.96.0 [ 12320040 ]
          Hide
          Hiroshi Ikeda added a comment -

          Patch v13 from review board.

          Show
          Hiroshi Ikeda added a comment - Patch v13 from review board.
          Hiroshi Ikeda made changes -
          Attachment HBASE-6651-V13.patch [ 12576494 ]
          Hide
          Hadoop QA added a comment -

          -1 overall. Here are the results of testing the latest attachment
          http://issues.apache.org/jira/secure/attachment/12576494/HBASE-6651-V13.patch
          against trunk revision .

          +1 @author. The patch does not contain any @author tags.

          +1 tests included. The patch appears to include 28 new or modified tests.

          +1 hadoop2.0. The patch compiles against the hadoop 2.0 profile.

          -1 javadoc. The javadoc tool appears to have generated 10 warning messages.

          +1 javac. The applied patch does not increase the total number of javac compiler warnings.

          +1 findbugs. The patch does not introduce any new Findbugs (version 1.3.9) warnings.

          +1 release audit. The applied patch does not increase the total number of release audit warnings.

          -1 lineLengths. The patch introduces lines longer than 100

          +1 site. The mvn site goal succeeds with this patch.

          -1 core tests. 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.

          Show
          Hadoop QA added a comment - -1 overall . Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12576494/HBASE-6651-V13.patch against trunk revision . +1 @author . The patch does not contain any @author tags. +1 tests included . The patch appears to include 28 new or modified tests. +1 hadoop2.0 . The patch compiles against the hadoop 2.0 profile. -1 javadoc . The javadoc tool appears to have generated 10 warning messages. +1 javac . The applied patch does not increase the total number of javac compiler warnings. +1 findbugs . The patch does not introduce any new Findbugs (version 1.3.9) warnings. +1 release audit . The applied patch does not increase the total number of release audit warnings. -1 lineLengths . The patch introduces lines longer than 100 +1 site . The mvn site goal succeeds with this patch. -1 core tests . 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.
          stack made changes -
          Fix Version/s 0.95.1 [ 12324288 ]
          Fix Version/s 0.95.0 [ 12324094 ]
          Hide
          stack added a comment -

          Moving issue that is still under discussion out of 0.95

          Show
          stack added a comment - Moving issue that is still under discussion out of 0.95
          stack made changes -
          Fix Version/s 0.95.1 [ 12324288 ]
          Hide
          Hiroshi Ikeda added a comment -

          Added fixed patches for 0.96, 0.98 and trunk.

          I reduced changing of existing codes, which have been quickly changed and too difficult to aim. I also added new methods to ShardMap to refer its registered objects, which introduced possibility to invalidly access thread unsafe objects, but I compromised because of applicability to existing codes, and then I excluded some unused classes that I had created.

          This ticket was created about more than a year ago and I already forgot many things, but HBase still uses PoolMap that violates the contract of Map, inconsistently changes its methods' behaviors by pool-type, and fails to keep thread-safety, so I hope the patches help.

          Show
          Hiroshi Ikeda added a comment - Added fixed patches for 0.96, 0.98 and trunk. I reduced changing of existing codes, which have been quickly changed and too difficult to aim. I also added new methods to ShardMap to refer its registered objects, which introduced possibility to invalidly access thread unsafe objects, but I compromised because of applicability to existing codes, and then I excluded some unused classes that I had created. This ticket was created about more than a year ago and I already forgot many things, but HBase still uses PoolMap that violates the contract of Map, inconsistently changes its methods' behaviors by pool-type, and fails to keep thread-safety, so I hope the patches help.
          Hiroshi Ikeda made changes -
          Attachment HBASE-6651-V14-0.96.patch [ 12637317 ]
          Attachment HBASE-6651-V14-0.98.patch [ 12637318 ]
          Attachment HBASE-6651-V14-trunk.patch [ 12637319 ]
          Hiroshi Ikeda made changes -
          Hadoop Flags Reviewed [ 10343 ]
          Hide
          Hadoop QA added a comment -

          -1 overall. 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

          +1 @author. The patch does not contain any @author tags.

          +1 tests included. The patch appears to include 19 new or modified tests.

          -1 javadoc. The javadoc tool appears to have generated 16 warning messages.

          +1 javac. The applied patch does not increase the total number of javac compiler warnings.

          +1 findbugs. The patch does not introduce any new Findbugs (version 1.3.9) warnings.

          -1 release audit. The applied patch generated 1 release audit warnings (more than the trunk's current 0 warnings).

          +1 lineLengths. The patch does not introduce lines longer than 100

          +1 site. The mvn site goal succeeds with this patch.

          +1 core tests. 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.

          Show
          Hadoop QA added a comment - -1 overall . 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 +1 @author . The patch does not contain any @author tags. +1 tests included . The patch appears to include 19 new or modified tests. -1 javadoc . The javadoc tool appears to have generated 16 warning messages. +1 javac . The applied patch does not increase the total number of javac compiler warnings. +1 findbugs . The patch does not introduce any new Findbugs (version 1.3.9) warnings. -1 release audit . The applied patch generated 1 release audit warnings (more than the trunk's current 0 warnings). +1 lineLengths . The patch does not introduce lines longer than 100 +1 site . The mvn site goal succeeds with this patch. +1 core tests . 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.
          Hide
          Hiroshi Ikeda added a comment -

          Added fixed patches.

          I had forgot to add the license header to one of the added classes, so I fixed it. Also I changed InterfaceAudience of the added classes to be Private.

          Show
          Hiroshi Ikeda added a comment - Added fixed patches. I had forgot to add the license header to one of the added classes, so I fixed it. Also I changed InterfaceAudience of the added classes to be Private.
          Hiroshi Ikeda made changes -
          Attachment HBASE-6651-V15-0.96.patch [ 12637340 ]
          Attachment HBASE-6651-V15-0.98.patch [ 12637341 ]
          Attachment HBASE-6651-V15-trunk.patch [ 12637342 ]
          Hide
          Hadoop QA added a comment -

          -1 overall. 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

          +1 @author. The patch does not contain any @author tags.

          +1 tests included. The patch appears to include 19 new or modified tests.

          -1 javadoc. The javadoc tool appears to have generated 16 warning messages.

          +1 javac. The applied patch does not increase the total number of javac compiler warnings.

          +1 findbugs. The patch does not introduce any new Findbugs (version 1.3.9) warnings.

          +1 release audit. The applied patch does not increase the total number of release audit warnings.

          +1 lineLengths. The patch does not introduce lines longer than 100

          +1 site. The mvn site goal succeeds with this patch.

          +1 core tests. 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.

          Show
          Hadoop QA added a comment - -1 overall . 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 +1 @author . The patch does not contain any @author tags. +1 tests included . The patch appears to include 19 new or modified tests. -1 javadoc . The javadoc tool appears to have generated 16 warning messages. +1 javac . The applied patch does not increase the total number of javac compiler warnings. +1 findbugs . The patch does not introduce any new Findbugs (version 1.3.9) warnings. +1 release audit . The applied patch does not increase the total number of release audit warnings. +1 lineLengths . The patch does not introduce lines longer than 100 +1 site . The mvn site goal succeeds with this patch. +1 core tests . 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.
          Hide
          Hiroshi Ikeda added a comment -

          Added revised patches.

          While I fixed javadoc warnings reported, I realized some inconsistency of its API. I wanted to give chances to individually tear down the objects which are busy when one calls the clear methods. For the purpose, the returnObject should return true only for the last borrower, otherwise one might tear down the cleared objects which are still in use.

          Show
          Hiroshi Ikeda added a comment - Added revised patches. While I fixed javadoc warnings reported, I realized some inconsistency of its API. I wanted to give chances to individually tear down the objects which are busy when one calls the clear methods. For the purpose, the returnObject should return true only for the last borrower, otherwise one might tear down the cleared objects which are still in use.
          Hiroshi Ikeda made changes -
          Attachment HBASE-6651-V16-0.96.patch [ 12637770 ]
          Attachment HBASE-6651-V16-0.98.patch [ 12637771 ]
          Attachment HBASE-6651-V16-trunk.patch [ 12637772 ]
          Hide
          Hiroshi Ikeda added a comment -

          Sorry

          the returnObject should return true only for the last borrower

          true -> false

          Show
          Hiroshi Ikeda added a comment - Sorry the returnObject should return true only for the last borrower true -> false
          Hide
          Hadoop QA added a comment -

          +1 overall. 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

          +1 @author. The patch does not contain any @author tags.

          +1 tests included. The patch appears to include 21 new or modified tests.

          +1 javadoc. The javadoc tool did not generate any warning messages.

          +1 javac. The applied patch does not increase the total number of javac compiler warnings.

          +1 findbugs. The patch does not introduce any new Findbugs (version 1.3.9) warnings.

          +1 release audit. The applied patch does not increase the total number of release audit warnings.

          +1 lineLengths. The patch does not introduce lines longer than 100

          +1 site. The mvn site goal succeeds with this patch.

          +1 core tests. 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.

          Show
          Hadoop QA added a comment - +1 overall . 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 +1 @author . The patch does not contain any @author tags. +1 tests included . The patch appears to include 21 new or modified tests. +1 javadoc . The javadoc tool did not generate any warning messages. +1 javac . The applied patch does not increase the total number of javac compiler warnings. +1 findbugs . The patch does not introduce any new Findbugs (version 1.3.9) warnings. +1 release audit . The applied patch does not increase the total number of release audit warnings. +1 lineLengths . The patch does not introduce lines longer than 100 +1 site . The mvn site goal succeeds with this patch. +1 core tests . 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.

            People

            • Assignee:
              Hiroshi Ikeda
              Reporter:
              Hiroshi Ikeda
            • Votes:
              0 Vote for this issue
              Watchers:
              16 Start watching this issue

              Dates

              • Created:
                Updated:

                Development