HBase
  1. HBase
  2. HBASE-5848

Create table with EMPTY_START_ROW passed as splitKey causes the HMaster to abort

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Minor Minor
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 0.94.0, 0.95.0
    • Component/s: Client
    • Labels:
      None
    • Hadoop Flags:
      Reviewed

      Description

      A coworker of mine just had this scenario. It does not make sense the EMPTY_START_ROW as splitKey (since the region with the empty start key is implicit), but it should not cause the HMaster to abort.
      The abort happens because it tries to bulk assign the same region twice and then runs into race conditions with ZK.

      The same would (presumably) happen when two identical split keys are passed, but the client blocks that. The simplest solution here is to also block passed null or EMPTY_START_ROW as split key by the client.

      1. HBASE-5848.patch
        2 kB
        ramkrishna.s.vasudevan
      2. HBASE-5848.patch
        4 kB
        ramkrishna.s.vasudevan
      3. HBASE-5848_0.94.patch
        4 kB
        ramkrishna.s.vasudevan
      4. HBASE-5848_addendum.patch
        0.7 kB
        ramkrishna.s.vasudevan
      5. 5848-addendum-v2.txt
        1 kB
        Ted Yu
      6. 5848-addendum-v3.txt
        2 kB
        Ted Yu
      7. 5848-addendum-v4.txt
        3 kB
        Ted Yu
      8. 5848-addendum-v5.txt
        4 kB
        Lars Hofhansl
      9. 5848-addendum-v6.txt
        2 kB
        Lars Hofhansl
      10. 5848-addendum-v7.txt
        2 kB
        Lars Hofhansl
      11. 5848-addendum-v7.txt
        2 kB
        Lars Hofhansl

        Activity

        Hide
        Lars Hofhansl added a comment -

        Specifically

        admin.createTable(htd, byte[][] {HConstants.EMPTY_START_ROW})
        

        Will cause the HMaster to abort.

        Show
        Lars Hofhansl added a comment - Specifically admin.createTable(htd, byte [][] {HConstants.EMPTY_START_ROW}) Will cause the HMaster to abort.
        Hide
        ramkrishna.s.vasudevan added a comment -

        @Lars
        Oh....we were using these options in one of our scenarios in 0.94. We found no issues, may be this some other case which is causing the problem. Thanks for bringing in this Lars.

        Show
        ramkrishna.s.vasudevan added a comment - @Lars Oh....we were using these options in one of our scenarios in 0.94. We found no issues, may be this some other case which is causing the problem. Thanks for bringing in this Lars.
        Hide
        Lars Hofhansl added a comment -

        @Ram: Are you sure?
        This one liner caused the HMaster to abort in every cluster I tried:

        new HBaseAdmin(HBaseConfiguration.create()).createTable(new HTableDescriptor("x"), new byte[][] {HConstants.EMPTY_START_ROW});
        
        Show
        Lars Hofhansl added a comment - @Ram: Are you sure? This one liner caused the HMaster to abort in every cluster I tried: new HBaseAdmin(HBaseConfiguration.create()).createTable( new HTableDescriptor( "x" ), new byte [][] {HConstants.EMPTY_START_ROW});
        Hide
        ramkrishna.s.vasudevan added a comment -

        @Lars
        No Lars, what i meant was we were trying different other options while creating tables but may not be this way. Once i go to office on monday i can tell you what are the other options that we have tried. (including duplicate keys, empty keys, etc.)

        Show
        ramkrishna.s.vasudevan added a comment - @Lars No Lars, what i meant was we were trying different other options while creating tables but may not be this way. Once i go to office on monday i can tell you what are the other options that we have tried. (including duplicate keys, empty keys, etc.)
        Hide
        Lars Hofhansl added a comment -

        Interestingly, I cannot reproduce this in a test. MiniCluster seems to be different enough to not have this problem.

        Show
        Lars Hofhansl added a comment - Interestingly, I cannot reproduce this in a test. MiniCluster seems to be different enough to not have this problem.
        Hide
        ramkrishna.s.vasudevan added a comment -

        @Lars
        I have analysed this problem.
        First thing is if we pass an empty byte array it is trying to form two regions with empty start and end keys.
        But the reason for it to abort is when it tries to form the two regions it so happens that the region id generated from the System.currenttimeInMillis becomes same and it tries to create the same node twice. And hence we get that aborting from the asyncSetOfflineInZooKeeper

        CreateUnassignedAsyncCallback cb =
              new CreateUnassignedAsyncCallback(this.watcher, destination, counter);
            for (RegionState state: states) {
              if (!asyncSetOfflineInZooKeeper(state, cb, state)) {
                return;
              }
            }
        

        The region Id is formed from

         public HRegionInfo(final byte[] tableName, final byte[] startKey,
                             final byte[] endKey, final boolean split)
          throws IllegalArgumentException {
            this(tableName, startKey, endKey, split, System.currentTimeMillis());
          }
        

        So there is always a chance that we get same region id but just because the start key and end key changes we were not encountering this problem.
        I suggest we add a logic explicitly to avoid 2 regions from getting formed and also the main thing is can we take System.nanoTime for the region id.?

        Even i was not able to get this repeatedly in testcases but a real cluster gives you the problem.

        Show
        ramkrishna.s.vasudevan added a comment - @Lars I have analysed this problem. First thing is if we pass an empty byte array it is trying to form two regions with empty start and end keys. But the reason for it to abort is when it tries to form the two regions it so happens that the region id generated from the System.currenttimeInMillis becomes same and it tries to create the same node twice. And hence we get that aborting from the asyncSetOfflineInZooKeeper CreateUnassignedAsyncCallback cb = new CreateUnassignedAsyncCallback( this .watcher, destination, counter); for (RegionState state: states) { if (!asyncSetOfflineInZooKeeper(state, cb, state)) { return ; } } The region Id is formed from public HRegionInfo( final byte [] tableName, final byte [] startKey, final byte [] endKey, final boolean split) throws IllegalArgumentException { this (tableName, startKey, endKey, split, System .currentTimeMillis()); } So there is always a chance that we get same region id but just because the start key and end key changes we were not encountering this problem. I suggest we add a logic explicitly to avoid 2 regions from getting formed and also the main thing is can we take System.nanoTime for the region id.? Even i was not able to get this repeatedly in testcases but a real cluster gives you the problem.
        Hide
        ramkrishna.s.vasudevan added a comment -

        @Lars
        Are you working on this? If not i will take up this?

        Show
        ramkrishna.s.vasudevan added a comment - @Lars Are you working on this? If not i will take up this?
        Hide
        Ted Yu added a comment -

        According to http://docs.oracle.com/javase/6/docs/api/java/lang/System.html#nanoTime%28%29:
        This method can only be used to measure elapsed time and is not related to any other notion of system or wall-clock time

        So we shouldn't use nanoTime().

        Show
        Ted Yu added a comment - According to http://docs.oracle.com/javase/6/docs/api/java/lang/System.html#nanoTime%28%29: This method can only be used to measure elapsed time and is not related to any other notion of system or wall-clock time So we shouldn't use nanoTime().
        Hide
        Ted Yu added a comment -

        +1 on patch.

        Show
        Ted Yu added a comment - +1 on patch.
        Hide
        stack added a comment -

        @Ram This is a nit comment for future patches, not for this one.

        I would suggest you avoid changes like below going forward:

        -      hRegionInfos = new HRegionInfo[]{
        -          new HRegionInfo(hTableDescriptor.getName(), null, null)};
        +      hRegionInfos = new HRegionInfo[] { new HRegionInfo(hTableDescriptor
        +          .getName(), null, null) };
        

        The replacement is harder to read w/ its break in the middle of a phrase.

        Patch lgtm.

        Lars, does this fix the issue you saw?

        Show
        stack added a comment - @Ram This is a nit comment for future patches, not for this one. I would suggest you avoid changes like below going forward: - hRegionInfos = new HRegionInfo[]{ - new HRegionInfo(hTableDescriptor.getName(), null , null )}; + hRegionInfos = new HRegionInfo[] { new HRegionInfo(hTableDescriptor + .getName(), null , null ) }; The replacement is harder to read w/ its break in the middle of a phrase. Patch lgtm. Lars, does this fix the issue you saw?
        Hide
        Lars Hofhansl added a comment -

        Thanks for the patch Ram.

        The problem also occurs with

        createTable(new HTableDescriptor("x"), new byte[][] {HConstants.EMPTY_START_ROW, new byte[] {1,2,3}});
        

        I do not think the patch would address that.

        Show
        Lars Hofhansl added a comment - Thanks for the patch Ram. The problem also occurs with createTable( new HTableDescriptor( "x" ), new byte [][] {HConstants.EMPTY_START_ROW, new byte [] {1,2,3}}); I do not think the patch would address that.
        Hide
        Lars Hofhansl added a comment -

        The client already checks for duplicate keys in splitKeys, we could just check for the empty key as well (no sense passing the empty key to createTable anyway), and throw an error as well.
        Obviously that does not guard against rogue clients and it would be extremely simple to DOS an HBase cluster.

        Show
        Lars Hofhansl added a comment - The client already checks for duplicate keys in splitKeys, we could just check for the empty key as well (no sense passing the empty key to createTable anyway), and throw an error as well. Obviously that does not guard against rogue clients and it would be extremely simple to DOS an HBase cluster.
        Hide
        ramkrishna.s.vasudevan added a comment -

        @Lars
        Yes, i was just checking that part of the issue that you have said.
        I was first thinking not to throw an error if empty key is passed but considering the other case where an empty key is passed along with other keys then ideally that should be the choice. I will update my patch with tat.

        Show
        ramkrishna.s.vasudevan added a comment - @Lars Yes, i was just checking that part of the issue that you have said. I was first thinking not to throw an error if empty key is passed but considering the other case where an empty key is passed along with other keys then ideally that should be the choice. I will update my patch with tat.
        Hide
        ramkrishna.s.vasudevan added a comment -

        Latest patch tries to avoid empty split keys from the HBaseAdmin side itself.

        Show
        ramkrishna.s.vasudevan added a comment - Latest patch tries to avoid empty split keys from the HBaseAdmin side itself.
        Hide
        Lars Hofhansl added a comment -

        Should also check for null (which is interpreted as empty key at the server).
        +1 otherwise.

        Show
        Lars Hofhansl added a comment - Should also check for null (which is interpreted as empty key at the server). +1 otherwise.
        Hide
        ramkrishna.s.vasudevan added a comment -

        @Lars
        Passing null is same as not passing any splitkey in which one region is created with empty start and end row. I think that should be the expected one right? Please correct me if I got you wrong. Thanks for your review.

        Show
        ramkrishna.s.vasudevan added a comment - @Lars Passing null is same as not passing any splitkey in which one region is created with empty start and end row. I think that should be the expected one right? Please correct me if I got you wrong. Thanks for your review.
        Hide
        Lars Hofhansl added a comment -

        @Ram: What I meant was doing this:

        createTable(new HTableDescriptor("x"), new byte[][] {null});
        

        splitKeys is not null, but one of the contained keys is.

        Show
        Lars Hofhansl added a comment - @Ram: What I meant was doing this: createTable( new HTableDescriptor( "x" ), new byte [][] { null }); splitKeys is not null, but one of the contained keys is.
        Hide
        ramkrishna.s.vasudevan added a comment -

        @Lars
        I tried that. It fails here throwing NPE in HBaseAdmin.createTableAsync

        Arrays.sort(splitKeys, Bytes.BYTES_COMPARATOR);
        

        Then there should be a prevalidator to check if the splitkeys has a null element in it.
        Ok i will add that validation also.

        Show
        ramkrishna.s.vasudevan added a comment - @Lars I tried that. It fails here throwing NPE in HBaseAdmin.createTableAsync Arrays.sort(splitKeys, Bytes.BYTES_COMPARATOR); Then there should be a prevalidator to check if the splitkeys has a null element in it. Ok i will add that validation also.
        Hide
        Lars Hofhansl added a comment -

        @Ram: That is probably overkill, means another loop over the splitKeys before they are sorted. As long as it fails on the client (even with an NPE) and does not cause the master to abort it's fine I think.

        If you like to add the extra check now, that fine too.

        +1 in either case. Going to bed now, feel free to commit

        Show
        Lars Hofhansl added a comment - @Ram: That is probably overkill, means another loop over the splitKeys before they are sorted. As long as it fails on the client (even with an NPE) and does not cause the master to abort it's fine I think. If you like to add the extra check now, that fine too. +1 in either case. Going to bed now, feel free to commit
        Hide
        ramkrishna.s.vasudevan added a comment -

        @Lars
        I will commit the version as it is.

        Show
        ramkrishna.s.vasudevan added a comment - @Lars I will commit the version as it is.
        Hide
        ramkrishna.s.vasudevan added a comment -

        Patch for 0.94 similar to trunk patch.

        Show
        ramkrishna.s.vasudevan added a comment - Patch for 0.94 similar to trunk patch.
        Hide
        ramkrishna.s.vasudevan added a comment -

        Committed to trunk and 0.94.
        Thanks for the review Ted, Stack and Lars.

        Show
        ramkrishna.s.vasudevan added a comment - Committed to trunk and 0.94. Thanks for the review Ted, Stack and Lars.
        Hide
        Hudson added a comment -

        Integrated in HBase-0.94 #143 (See https://builds.apache.org/job/HBase-0.94/143/)
        HBASE-5848 Create table with EMPTY_START_ROW passed as splitKey causes the HMaster to abort (Ram) (Revision 1329827)

        Result = FAILURE
        ramkrishna :
        Files :

        • /hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java
        • /hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/client/TestAdmin.java
        Show
        Hudson added a comment - Integrated in HBase-0.94 #143 (See https://builds.apache.org/job/HBase-0.94/143/ ) HBASE-5848 Create table with EMPTY_START_ROW passed as splitKey causes the HMaster to abort (Ram) (Revision 1329827) Result = FAILURE ramkrishna : Files : /hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java /hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/client/TestAdmin.java
        Hide
        Ramkrishna.S.Vasudevan added a comment -

        The reason is because of HBASE-5848. I forgot to do the submit patch option, so the hadoop QA did not run.
        I will rectify the failures . Sorry for breaking the build.

        Regards
        Ram

        Show
        Ramkrishna.S.Vasudevan added a comment - The reason is because of HBASE-5848 . I forgot to do the submit patch option, so the hadoop QA did not run. I will rectify the failures . Sorry for breaking the build. Regards Ram
        Show
        ramkrishna.s.vasudevan added a comment - Addendum to pass the failed testcase https://builds.apache.org/job/HBase-0.94/143/testReport/junit/org.apache.hadoop.hbase/TestRegionRebalancing/testRebalanceOnRegionServerNumberChange/
        Hide
        Hadoop QA added a comment -

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

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

        +1 tests included. The patch appears to include 3 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 appears to introduce 5 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.mapreduce.TestMultithreadedTableMapper
        org.apache.hadoop.hbase.master.TestMasterTransitions
        org.apache.hadoop.hbase.coprocessor.TestRegionServerCoprocessorExceptionWithRemove
        org.apache.hadoop.hbase.TestFullLogReconstruction
        org.apache.hadoop.hbase.coprocessor.TestRegionServerCoprocessorExceptionWithAbort
        org.apache.hadoop.hbase.client.TestFromClientSide
        org.apache.hadoop.hbase.replication.TestReplication
        org.apache.hadoop.hbase.mapreduce.TestTableInputFormatScan
        org.apache.hadoop.hbase.mapred.TestTableMapReduce
        org.apache.hadoop.hbase.client.TestMultiParallel
        org.apache.hadoop.hbase.master.TestZKBasedOpenCloseRegion
        org.apache.hadoop.hbase.mapreduce.TestTableMapReduce

        Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/1628//testReport/
        Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/1628//artifact/trunk/patchprocess/newPatchFindbugsWarnings.html
        Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/1628//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/12524013/HBASE-5848_addendum.patch against trunk revision . +1 @author. The patch does not contain any @author tags. +1 tests included. The patch appears to include 3 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 appears to introduce 5 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.mapreduce.TestMultithreadedTableMapper org.apache.hadoop.hbase.master.TestMasterTransitions org.apache.hadoop.hbase.coprocessor.TestRegionServerCoprocessorExceptionWithRemove org.apache.hadoop.hbase.TestFullLogReconstruction org.apache.hadoop.hbase.coprocessor.TestRegionServerCoprocessorExceptionWithAbort org.apache.hadoop.hbase.client.TestFromClientSide org.apache.hadoop.hbase.replication.TestReplication org.apache.hadoop.hbase.mapreduce.TestTableInputFormatScan org.apache.hadoop.hbase.mapred.TestTableMapReduce org.apache.hadoop.hbase.client.TestMultiParallel org.apache.hadoop.hbase.master.TestZKBasedOpenCloseRegion org.apache.hadoop.hbase.mapreduce.TestTableMapReduce Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/1628//testReport/ Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/1628//artifact/trunk/patchprocess/newPatchFindbugsWarnings.html Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/1628//console This message is automatically generated.
        Hide
        Hudson added a comment -

        Integrated in HBase-TRUNK #2807 (See https://builds.apache.org/job/HBase-TRUNK/2807/)
        HBASE-5848 Create table with EMPTY_START_ROW passed as splitKey causes the HMaster to abort (Ram) (Revision 1329819)

        Result = FAILURE
        ramkrishna :
        Files :

        • /hbase/trunk/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java
        • /hbase/trunk/src/test/java/org/apache/hadoop/hbase/client/TestAdmin.java
        Show
        Hudson added a comment - Integrated in HBase-TRUNK #2807 (See https://builds.apache.org/job/HBase-TRUNK/2807/ ) HBASE-5848 Create table with EMPTY_START_ROW passed as splitKey causes the HMaster to abort (Ram) (Revision 1329819) Result = FAILURE ramkrishna : Files : /hbase/trunk/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java /hbase/trunk/src/test/java/org/apache/hadoop/hbase/client/TestAdmin.java
        Hide
        Ted Yu added a comment -

        TestFullLogReconstruction#testReconstruction gave the following based on addendum:

        012-04-24 11:35:48,409 WARN  [Thread-189] client.HConnectionManager$HConnectionImplementation(1020): Encountered problems when prefetch META table:
        org.apache.hadoop.hbase.TableNotFoundException: Cannot find row in .META. for table: tabletest, row=tabletest,aaa,99999999999999
          at org.apache.hadoop.hbase.client.MetaScanner.metaScan(MetaScanner.java:158)
          at org.apache.hadoop.hbase.client.MetaScanner.access$000(MetaScanner.java:52)
          at org.apache.hadoop.hbase.client.MetaScanner$1.connect(MetaScanner.java:130)
          at org.apache.hadoop.hbase.client.MetaScanner$1.connect(MetaScanner.java:127)
          at org.apache.hadoop.hbase.client.HConnectionManager.execute(HConnectionManager.java:385)
          at org.apache.hadoop.hbase.client.MetaScanner.metaScan(MetaScanner.java:127)
          at org.apache.hadoop.hbase.client.MetaScanner.metaScan(MetaScanner.java:103)
          at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.prefetchRegionCache(HConnectionManager.java:1017)
          at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegionInMeta(HConnectionManager.java:1071)
          at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegion(HConnectionManager.java:959)
          at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.processBatchCallback(HConnectionManager.java:1849)
          at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.processBatch(HConnectionManager.java:1733)
          at org.apache.hadoop.hbase.client.HTable.flushCommits(HTable.java:1020)
          at org.apache.hadoop.hbase.client.HTable.doPut(HTable.java:832)
          at org.apache.hadoop.hbase.client.HTable.put(HTable.java:807)
          at org.apache.hadoop.hbase.HBaseTestingUtility.loadTable(HBaseTestingUtility.java:992)
          at org.apache.hadoop.hbase.TestFullLogReconstruction.testReconstruction(TestFullLogReconstruction.java:102)
        

        Will try to come up with new addendum.

        Show
        Ted Yu added a comment - TestFullLogReconstruction#testReconstruction gave the following based on addendum: 012-04-24 11:35:48,409 WARN [ Thread -189] client.HConnectionManager$HConnectionImplementation(1020): Encountered problems when prefetch META table: org.apache.hadoop.hbase.TableNotFoundException: Cannot find row in .META. for table: tabletest, row=tabletest,aaa,99999999999999 at org.apache.hadoop.hbase.client.MetaScanner.metaScan(MetaScanner.java:158) at org.apache.hadoop.hbase.client.MetaScanner.access$000(MetaScanner.java:52) at org.apache.hadoop.hbase.client.MetaScanner$1.connect(MetaScanner.java:130) at org.apache.hadoop.hbase.client.MetaScanner$1.connect(MetaScanner.java:127) at org.apache.hadoop.hbase.client.HConnectionManager.execute(HConnectionManager.java:385) at org.apache.hadoop.hbase.client.MetaScanner.metaScan(MetaScanner.java:127) at org.apache.hadoop.hbase.client.MetaScanner.metaScan(MetaScanner.java:103) at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.prefetchRegionCache(HConnectionManager.java:1017) at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegionInMeta(HConnectionManager.java:1071) at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegion(HConnectionManager.java:959) at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.processBatchCallback(HConnectionManager.java:1849) at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.processBatch(HConnectionManager.java:1733) at org.apache.hadoop.hbase.client.HTable.flushCommits(HTable.java:1020) at org.apache.hadoop.hbase.client.HTable.doPut(HTable.java:832) at org.apache.hadoop.hbase.client.HTable.put(HTable.java:807) at org.apache.hadoop.hbase.HBaseTestingUtility.loadTable(HBaseTestingUtility.java:992) at org.apache.hadoop.hbase.TestFullLogReconstruction.testReconstruction(TestFullLogReconstruction.java:102) Will try to come up with new addendum.
        Hide
        Ted Yu added a comment -

        Addendum v2 passes the following tests:

          889  mt -Dtest=TestFullLogReconstruction#testReconstruction
          890  mt -Dtest=TestRegionRebalancing#testRebalanceOnRegionServerNumberChange
        
        Show
        Ted Yu added a comment - Addendum v2 passes the following tests: 889 mt -Dtest=TestFullLogReconstruction#testReconstruction 890 mt -Dtest=TestRegionRebalancing#testRebalanceOnRegionServerNumberChange
        Hide
        Ted Yu added a comment -

        Addendum v2 didn't address the root cause of this issue.

        Addendum v3 treats NodeExistsException specially in asyncSetOfflineInZooKeeper().

        Show
        Ted Yu added a comment - Addendum v2 didn't address the root cause of this issue. Addendum v3 treats NodeExistsException specially in asyncSetOfflineInZooKeeper().
        Hide
        Hadoop QA added a comment -

        -1 overall. Here are the results of testing the latest attachment
        http://issues.apache.org/jira/secure/attachment/12524036/5848-addendum-v3.txt
        against trunk revision .

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

        -1 tests included. The patch doesn't appear to include any new or modified tests.
        Please justify why no new tests are needed for this patch.
        Also please list what manual steps were performed to verify this patch.

        +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 5 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.TestAdmin

        Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/1631//testReport/
        Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/1631//artifact/trunk/patchprocess/newPatchFindbugsWarnings.html
        Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/1631//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/12524036/5848-addendum-v3.txt against trunk revision . +1 @author. The patch does not contain any @author tags. -1 tests included. The patch doesn't appear to include any new or modified tests. Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch. +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 5 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.TestAdmin Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/1631//testReport/ Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/1631//artifact/trunk/patchprocess/newPatchFindbugsWarnings.html Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/1631//console This message is automatically generated.
        Hide
        Lars Hofhansl added a comment -

        As I said above, I can kill the HMaster by issuing.

        createTable(new HTableDescriptor("x"), new byte[][] {HConstants.EMPTY_START_ROW, new byte[] {1,2,3}});
        

        So it happens also when HConstants.EMPTY_START_ROW is passed along with other split keys.

        Show
        Lars Hofhansl added a comment - As I said above, I can kill the HMaster by issuing. createTable( new HTableDescriptor( "x" ), new byte [][] {HConstants.EMPTY_START_ROW, new byte [] {1,2,3}}); So it happens also when HConstants.EMPTY_START_ROW is passed along with other split keys.
        Hide
        Ted Yu added a comment -

        I modified testCreateTableWithEmptyRowInTheSplitKeys using the above pattern and master didn't crash (with addendum):

        Index: src/test/java/org/apache/hadoop/hbase/client/TestAdmin.java
        ===================================================================
        --- src/test/java/org/apache/hadoop/hbase/client/TestAdmin.java	(revision 1330037)
        +++ src/test/java/org/apache/hadoop/hbase/client/TestAdmin.java	(working copy)
        @@ -733,15 +733,13 @@
           @Test
           public void testCreateTableWithEmptyRowInTheSplitKeys() throws IOException{
             byte[] tableName = Bytes.toBytes("testCreateTableWithEmptyRowInTheSplitKeys");
        -    byte[][] splitKeys = new byte[3][];
        -    splitKeys[0] = "region1".getBytes();
        -    splitKeys[1] = HConstants.EMPTY_BYTE_ARRAY;
        -    splitKeys[2] = "region2".getBytes();
        +    byte[][] splitKeys = new byte[2][];
        +    splitKeys[0] = HConstants.EMPTY_BYTE_ARRAY;
        +    splitKeys[1] = "region2".getBytes();
             HTableDescriptor desc = new HTableDescriptor(tableName);
             desc.addFamily(new HColumnDescriptor("col"));
             try {
               admin.createTable(desc, splitKeys);
        -      fail("Test case should fail as empty split key is passed.");
             } catch (IllegalArgumentException e) {
             }
           }
        
        Show
        Ted Yu added a comment - I modified testCreateTableWithEmptyRowInTheSplitKeys using the above pattern and master didn't crash (with addendum): Index: src/test/java/org/apache/hadoop/hbase/client/TestAdmin.java =================================================================== --- src/test/java/org/apache/hadoop/hbase/client/TestAdmin.java (revision 1330037) +++ src/test/java/org/apache/hadoop/hbase/client/TestAdmin.java (working copy) @@ -733,15 +733,13 @@ @Test public void testCreateTableWithEmptyRowInTheSplitKeys() throws IOException{ byte [] tableName = Bytes.toBytes( "testCreateTableWithEmptyRowInTheSplitKeys" ); - byte [][] splitKeys = new byte [3][]; - splitKeys[0] = "region1" .getBytes(); - splitKeys[1] = HConstants.EMPTY_BYTE_ARRAY; - splitKeys[2] = "region2" .getBytes(); + byte [][] splitKeys = new byte [2][]; + splitKeys[0] = HConstants.EMPTY_BYTE_ARRAY; + splitKeys[1] = "region2" .getBytes(); HTableDescriptor desc = new HTableDescriptor(tableName); desc.addFamily( new HColumnDescriptor( "col" )); try { admin.createTable(desc, splitKeys); - fail( "Test case should fail as empty split key is passed." ); } catch (IllegalArgumentException e) { } }
        Hide
        Ted Yu added a comment -

        Addendum v4 passes TestAdmin

        testCreateTableWithEmptyRowInTheSplitKeys is removed since IllegalArgumentException wouldn't be thrown.

        Show
        Ted Yu added a comment - Addendum v4 passes TestAdmin testCreateTableWithEmptyRowInTheSplitKeys is removed since IllegalArgumentException wouldn't be thrown.
        Hide
        Lars Hofhansl added a comment -

        The problem is that HBaseTestUtil.KEYS is used to two different things in the Tests: in HBaseAdmin.createTable* and in HBaseTestUtility.createMultiRegionsInMeta.
        Ideally createMultiRegionsInMeta would be similar to HMaster.getHRegionInfos, but it is not. At this point it is too risky to change createMultiRegionsInMeta and createMultiRegions, so we should have to versions of HBaseTestUtil.KEYS - one that has the EMPTY_ROW for the test methods, and one that doesn't for the call to HMaster.createTable.

        Show
        Lars Hofhansl added a comment - The problem is that HBaseTestUtil.KEYS is used to two different things in the Tests: in HBaseAdmin.createTable* and in HBaseTestUtility.createMultiRegionsInMeta. Ideally createMultiRegionsInMeta would be similar to HMaster.getHRegionInfos, but it is not. At this point it is too risky to change createMultiRegionsInMeta and createMultiRegions, so we should have to versions of HBaseTestUtil.KEYS - one that has the EMPTY_ROW for the test methods, and one that doesn't for the call to HMaster.createTable.
        Hide
        Lars Hofhansl added a comment -

        @Ted: The minicluster (or timing in tests) is sufficiently different so that we cannot write a test that crashes the master (see my and Ram's comment above).

        Show
        Lars Hofhansl added a comment - @Ted: The minicluster (or timing in tests) is sufficiently different so that we cannot write a test that crashes the master (see my and Ram's comment above).
        Hide
        Hadoop QA added a comment -

        -1 overall. Here are the results of testing the latest attachment
        http://issues.apache.org/jira/secure/attachment/12524069/5848-addendum-v4.txt
        against trunk revision .

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

        +1 tests included. The patch appears to include 3 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 appears to introduce 5 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.coprocessor.TestRegionServerCoprocessorExceptionWithAbort

        Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/1632//testReport/
        Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/1632//artifact/trunk/patchprocess/newPatchFindbugsWarnings.html
        Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/1632//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/12524069/5848-addendum-v4.txt against trunk revision . +1 @author. The patch does not contain any @author tags. +1 tests included. The patch appears to include 3 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 appears to introduce 5 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.coprocessor.TestRegionServerCoprocessorExceptionWithAbort Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/1632//testReport/ Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/1632//artifact/trunk/patchprocess/newPatchFindbugsWarnings.html Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/1632//console This message is automatically generated.
        Hide
        Lars Hofhansl added a comment -

        New addendum for HadoopQA. Introduces different KEYS and TEST_KEYS in HBaseTestingUtility.

        Show
        Lars Hofhansl added a comment - New addendum for HadoopQA. Introduces different KEYS and TEST_KEYS in HBaseTestingUtility.
        Hide
        Ted Yu added a comment -

        What about the root cause Ram identified: https://issues.apache.org/jira/browse/HBASE-5848?focusedCommentId=13259411&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-13259411 ?

        A hacker can call master.createTable(desc, splitKeys) directly, bypassing HBaseAdmin. Right ?

        Show
        Ted Yu added a comment - What about the root cause Ram identified: https://issues.apache.org/jira/browse/HBASE-5848?focusedCommentId=13259411&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-13259411 ? A hacker can call master.createTable(desc, splitKeys) directly, bypassing HBaseAdmin. Right ?
        Hide
        Lars Hofhansl added a comment -

        Yes, that's also what I said above
        There're more DOS attacks against HBase (like passing a doctored RPC with a size of 4GB, etc), though.

        +1 on fixing the root cause too, of course.

        Lemme do a combined patch quickly...

        Show
        Lars Hofhansl added a comment - Yes, that's also what I said above There're more DOS attacks against HBase (like passing a doctored RPC with a size of 4GB, etc), though. +1 on fixing the root cause too, of course. Lemme do a combined patch quickly...
        Hide
        Hadoop QA added a comment -

        -1 overall. Here are the results of testing the latest attachment
        http://issues.apache.org/jira/secure/attachment/12524082/5848-addendum-v5.txt
        against trunk revision .

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

        +1 tests included. The patch appears to include 12 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 appears to introduce 5 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.coprocessor.TestRowProcessorEndpoint

        Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/1634//testReport/
        Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/1634//artifact/trunk/patchprocess/newPatchFindbugsWarnings.html
        Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/1634//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/12524082/5848-addendum-v5.txt against trunk revision . +1 @author. The patch does not contain any @author tags. +1 tests included. The patch appears to include 12 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 appears to introduce 5 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.coprocessor.TestRowProcessorEndpoint Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/1634//testReport/ Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/1634//artifact/trunk/patchprocess/newPatchFindbugsWarnings.html Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/1634//console This message is automatically generated.
        Hide
        Lars Hofhansl added a comment -

        How about this one.
        Addresses the root cause and uses the right set of split keys when used in TestRegionRebalancing.

        Show
        Lars Hofhansl added a comment - How about this one. Addresses the root cause and uses the right set of split keys when used in TestRegionRebalancing.
        Hide
        Ted Yu added a comment -

        Addendum v6 looks good.
        BTW this is the highest numbered addendum I have ever worked with

        Show
        Ted Yu added a comment - Addendum v6 looks good. BTW this is the highest numbered addendum I have ever worked with
        Hide
        Lars Hofhansl added a comment -

        Yes, was thinking that too.

        Show
        Lars Hofhansl added a comment - Yes, was thinking that too.
        Hide
        Lars Hofhansl added a comment -

        Will wait for HadoopQA, and commit if all is good.

        Show
        Lars Hofhansl added a comment - Will wait for HadoopQA, and commit if all is good.
        Hide
        Hudson added a comment -

        Integrated in HBase-0.94-security #20 (See https://builds.apache.org/job/HBase-0.94-security/20/)
        HBASE-5848 Create table with EMPTY_START_ROW passed as splitKey causes the HMaster to abort (Ram) (Revision 1329827)

        Result = SUCCESS
        ramkrishna :
        Files :

        • /hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java
        • /hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/client/TestAdmin.java
        Show
        Hudson added a comment - Integrated in HBase-0.94-security #20 (See https://builds.apache.org/job/HBase-0.94-security/20/ ) HBASE-5848 Create table with EMPTY_START_ROW passed as splitKey causes the HMaster to abort (Ram) (Revision 1329827) Result = SUCCESS ramkrishna : Files : /hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java /hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/client/TestAdmin.java
        Hide
        ramkrishna.s.vasudevan added a comment -

        Sorry guys...
        I was the reason for this trouble. I should have been very careful before doing this.

        Show
        ramkrishna.s.vasudevan added a comment - Sorry guys... I was the reason for this trouble. I should have been very careful before doing this.
        Hide
        Lars Hofhansl added a comment -

        @Ram: No worries. I looked at the patch too. This is part of doing development.

        Show
        Lars Hofhansl added a comment - @Ram: No worries. I looked at the patch too. This is part of doing development.
        Hide
        Lars Hofhansl added a comment -

        Arrghhh... Off by one. Now fixed in TestRegionBalancing

        Show
        Lars Hofhansl added a comment - Arrghhh... Off by one. Now fixed in TestRegionBalancing
        Hide
        Lars Hofhansl added a comment -

        Trying again for HadoopQA

        Show
        Lars Hofhansl added a comment - Trying again for HadoopQA
        Hide
        Hadoop QA added a comment -

        -1 overall. Here are the results of testing the latest attachment
        http://issues.apache.org/jira/secure/attachment/12524107/5848-addendum-v7.txt
        against trunk revision .

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

        +1 tests included. The patch appears to include 3 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 appears to introduce 5 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/1640//testReport/
        Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/1640//artifact/trunk/patchprocess/newPatchFindbugsWarnings.html
        Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/1640//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/12524107/5848-addendum-v7.txt against trunk revision . +1 @author. The patch does not contain any @author tags. +1 tests included. The patch appears to include 3 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 appears to introduce 5 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/1640//testReport/ Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/1640//artifact/trunk/patchprocess/newPatchFindbugsWarnings.html Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/1640//console This message is automatically generated.
        Hide
        Lars Hofhansl added a comment -

        Addendum committed to 0.94 and 0.96.

        Show
        Lars Hofhansl added a comment - Addendum committed to 0.94 and 0.96.
        Hide
        Hadoop QA added a comment -

        -1 overall. Here are the results of testing the latest attachment
        http://issues.apache.org/jira/secure/attachment/12524110/5848-addendum-v7.txt
        against trunk revision .

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

        +1 tests included. The patch appears to include 3 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 appears to introduce 5 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.TestFromClientSide
        org.apache.hadoop.hbase.replication.TestReplication
        org.apache.hadoop.hbase.regionserver.TestSplitTransactionOnCluster

        Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/1641//testReport/
        Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/1641//artifact/trunk/patchprocess/newPatchFindbugsWarnings.html
        Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/1641//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/12524110/5848-addendum-v7.txt against trunk revision . +1 @author. The patch does not contain any @author tags. +1 tests included. The patch appears to include 3 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 appears to introduce 5 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.TestFromClientSide org.apache.hadoop.hbase.replication.TestReplication org.apache.hadoop.hbase.regionserver.TestSplitTransactionOnCluster Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/1641//testReport/ Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/1641//artifact/trunk/patchprocess/newPatchFindbugsWarnings.html Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/1641//console This message is automatically generated.
        Hide
        ramkrishna.s.vasudevan added a comment -

        @Lars and @Ted
        Thank you very much.

        Show
        ramkrishna.s.vasudevan added a comment - @Lars and @Ted Thank you very much.
        Hide
        Hudson added a comment -

        Integrated in HBase-TRUNK #2810 (See https://builds.apache.org/job/HBase-TRUNK/2810/)
        HBASE-5848 Addendum (Revision 1330105)

        Result = FAILURE
        larsh :
        Files :

        • /hbase/trunk/src/test/java/org/apache/hadoop/hbase/HBaseTestingUtility.java
        • /hbase/trunk/src/test/java/org/apache/hadoop/hbase/mapreduce/MapreduceTestingShim.java
        Show
        Hudson added a comment - Integrated in HBase-TRUNK #2810 (See https://builds.apache.org/job/HBase-TRUNK/2810/ ) HBASE-5848 Addendum (Revision 1330105) Result = FAILURE larsh : Files : /hbase/trunk/src/test/java/org/apache/hadoop/hbase/HBaseTestingUtility.java /hbase/trunk/src/test/java/org/apache/hadoop/hbase/mapreduce/MapreduceTestingShim.java
        Hide
        Hudson added a comment -

        Integrated in HBase-TRUNK-security #183 (See https://builds.apache.org/job/HBase-TRUNK-security/183/)
        HBASE-5848 Addendum (Revision 1330105)
        HBASE-5848 Create table with EMPTY_START_ROW passed as splitKey causes the HMaster to abort (Ram) (Revision 1329819)

        Result = FAILURE
        larsh :
        Files :

        • /hbase/trunk/src/test/java/org/apache/hadoop/hbase/HBaseTestingUtility.java
        • /hbase/trunk/src/test/java/org/apache/hadoop/hbase/mapreduce/MapreduceTestingShim.java

        ramkrishna :
        Files :

        • /hbase/trunk/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java
        • /hbase/trunk/src/test/java/org/apache/hadoop/hbase/client/TestAdmin.java
        Show
        Hudson added a comment - Integrated in HBase-TRUNK-security #183 (See https://builds.apache.org/job/HBase-TRUNK-security/183/ ) HBASE-5848 Addendum (Revision 1330105) HBASE-5848 Create table with EMPTY_START_ROW passed as splitKey causes the HMaster to abort (Ram) (Revision 1329819) Result = FAILURE larsh : Files : /hbase/trunk/src/test/java/org/apache/hadoop/hbase/HBaseTestingUtility.java /hbase/trunk/src/test/java/org/apache/hadoop/hbase/mapreduce/MapreduceTestingShim.java ramkrishna : Files : /hbase/trunk/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java /hbase/trunk/src/test/java/org/apache/hadoop/hbase/client/TestAdmin.java
        Hide
        Hudson added a comment -

        Integrated in HBase-0.94 #147 (See https://builds.apache.org/job/HBase-0.94/147/)
        HBASE-5848 Addendum (Revision 1330106)

        Result = SUCCESS
        larsh :
        Files :

        • /hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java
        • /hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/TestRegionRebalancing.java
        Show
        Hudson added a comment - Integrated in HBase-0.94 #147 (See https://builds.apache.org/job/HBase-0.94/147/ ) HBASE-5848 Addendum (Revision 1330106) Result = SUCCESS larsh : Files : /hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java /hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/TestRegionRebalancing.java
        Hide
        Ted Yu added a comment -

        Looks like the addendum wasn't applied to trunk.

        Show
        Ted Yu added a comment - Looks like the addendum wasn't applied to trunk.
        Hide
        Lars Hofhansl added a comment -

        Yep, I committed the wrong the patch.
        Reverted over in HBASE-5870, and committed the right patch. Sorry about that.

        Show
        Lars Hofhansl added a comment - Yep, I committed the wrong the patch. Reverted over in HBASE-5870 , and committed the right patch. Sorry about that.
        Hide
        Lars Hofhansl added a comment -

        Also double checked 0.94. All's good now.

        Show
        Lars Hofhansl added a comment - Also double checked 0.94. All's good now.
        Hide
        Hudson added a comment -

        Integrated in HBase-TRUNK #2812 (See https://builds.apache.org/job/HBase-TRUNK/2812/)
        HBASE-5848 Addendum, try 2 (Revision 1330349)

        Result = FAILURE
        larsh :
        Files :

        • /hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java
        • /hbase/trunk/src/test/java/org/apache/hadoop/hbase/TestRegionRebalancing.java
        Show
        Hudson added a comment - Integrated in HBase-TRUNK #2812 (See https://builds.apache.org/job/HBase-TRUNK/2812/ ) HBASE-5848 Addendum, try 2 (Revision 1330349) Result = FAILURE larsh : Files : /hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java /hbase/trunk/src/test/java/org/apache/hadoop/hbase/TestRegionRebalancing.java
        Hide
        Hudson added a comment -

        Integrated in HBase-0.94-security #21 (See https://builds.apache.org/job/HBase-0.94-security/21/)
        HBASE-5848 Addendum (Revision 1330106)

        Result = FAILURE
        larsh :
        Files :

        • /hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java
        • /hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/TestRegionRebalancing.java
        Show
        Hudson added a comment - Integrated in HBase-0.94-security #21 (See https://builds.apache.org/job/HBase-0.94-security/21/ ) HBASE-5848 Addendum (Revision 1330106) Result = FAILURE larsh : Files : /hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java /hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/TestRegionRebalancing.java
        Hide
        Hudson added a comment -

        Integrated in HBase-TRUNK-security #184 (See https://builds.apache.org/job/HBase-TRUNK-security/184/)
        HBASE-5848 Addendum, try 2 (Revision 1330349)

        Result = FAILURE
        larsh :
        Files :

        • /hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java
        • /hbase/trunk/src/test/java/org/apache/hadoop/hbase/TestRegionRebalancing.java
        Show
        Hudson added a comment - Integrated in HBase-TRUNK-security #184 (See https://builds.apache.org/job/HBase-TRUNK-security/184/ ) HBASE-5848 Addendum, try 2 (Revision 1330349) Result = FAILURE larsh : Files : /hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java /hbase/trunk/src/test/java/org/apache/hadoop/hbase/TestRegionRebalancing.java

          People

          • Assignee:
            ramkrishna.s.vasudevan
            Reporter:
            Lars Hofhansl
          • Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development