HBase
  1. HBase
  2. HBASE-4720

Implement atomic update operations (checkAndPut, checkAndDelete) for REST client/server

    Details

    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 0.94.1, 0.95.0
    • Component/s: None
    • Labels:
      None
    • Hadoop Flags:
      Reviewed

      Description

      I have several large application/HBase clusters where an application node will occasionally need to talk to HBase from a different cluster. In order to help ensure some of my consistency guarantees I have a sentinel table that is updated atomically as users interact with the system. This works quite well for the "regular" hbase client but the REST client does not implement the checkAndPut and checkAndDelete operations. This exposes the application to some race conditions that have to be worked around. It would be ideal if the same checkAndPut/checkAndDelete operations could be supported by the REST client.

      1. 4720_trunk_v3.patch
        20 kB
        stack
      2. 4720_trunk_v3.1.patch
        20 kB
        Jimmy Xiang
      3. 4720_trunk_v3.patch
        20 kB
        Jimmy Xiang
      4. 4720_trunk_v2.patch
        20 kB
        Jimmy Xiang
      5. 4720_trunk.patch
        20 kB
        Jimmy Xiang
      6. HBASE-4720.trunk.v7.patch
        19 kB
        Mubarak Seyed
      7. HBASE-4720.trunk.v6.patch
        28 kB
        Mubarak Seyed
      8. HBASE-4720.trunk.v5.patch
        28 kB
        Mubarak Seyed
      9. HBASE-4720.trunk.v4.patch
        48 kB
        Mubarak Seyed
      10. HBASE-4720.trunk.v3.patch
        48 kB
        Mubarak Seyed
      11. HBASE-4720.trunk.v2.patch
        48 kB
        Mubarak Seyed
      12. HBASE-4720.trunk.v1.patch
        47 kB
        Mubarak Seyed
      13. HBASE-4720.v3.patch
        75 kB
        Mubarak Seyed
      14. HBASE-4720.v1.patch
        35 kB
        Mubarak Seyed

        Activity

        Hide
        Mubarak Seyed added a comment -

        Waiting for corporate approval to contribute this patch. Thanks.

        Show
        Mubarak Seyed added a comment - Waiting for corporate approval to contribute this patch. Thanks.
        Hide
        Mubarak Seyed added a comment -

        My approach is to use a label in the URI path

        checkAndPut of HRemoteTable would send
        PUT /check/<table>/<row>/<column>:<qualifier> ? ( / <timestamp> )?

        checkAndDelete of HRemoteTable would send
        DELETE /check/<table>/<row>/<column>:<qualifier> ? ( / <timestamp> )?

        with Put object will be converted to content (byte[] from createProtobufOutput)

        Show
        Mubarak Seyed added a comment - My approach is to use a label in the URI path checkAndPut of HRemoteTable would send PUT /check/<table>/<row>/<column>:<qualifier> ? ( / <timestamp> )? checkAndDelete of HRemoteTable would send DELETE /check/<table>/<row>/<column>:<qualifier> ? ( / <timestamp> )? with Put object will be converted to content (byte[] from createProtobufOutput)
        Hide
        stack added a comment -

        Would using an attribute work?

        ?check=true

        How you passing the value to check when PUT'ing or DELETE'ing?

        Show
        stack added a comment - Would using an attribute work? ?check=true How you passing the value to check when PUT'ing or DELETE'ing?
        Hide
        Mubarak Seyed added a comment -

        Stack,

        Option 1:
        If we send ?check=true then client can send value to check and value-to-check as part of URI like

        PUT or POST
        /table/<row>/<column>:<qualifier> ?(/<check:true>) ?(/<value-to-check>) ?(/<timestamp>)
        (with Put object as content)

        Delete on RowResource uses only request-URI and there is no way to get CellSetModel (which holds the content of Delete object, as part of checkAndDelete API). If we go by HTTP @Delete method then how do we send the entity-body (content)? Ref: http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html#sec9.7

        Can we treat checkAndDelete as HTTP PUT or POST operation and send the Delete object content as entity-body?

        so, the request URI would look like

        checkAndPut: PUT (or) POST /table/<row>/<column>:<qualifier> ?(/<checkandput:true>) ?(/<value-to-check>) ?(/<timestamp>)
        checkAndDelete: PUT (or) POST /table/<row>/<column>:<qualifier> ?(/<checkanddelete:true>) ?(/<value-to-check>) ?(/<timestamp>)

        we can make use of put or post in RowResource and refactor the put()/post() code to handle both put/checkAndPut and delete/checkAndDelete.

        Option 2:
        If we dont want to refactor the RowResource code, we can create new resource (such as /checkandput and /checkanddelete) then we can append the /table/<row>/... convention

        Show
        Mubarak Seyed added a comment - Stack, Option 1: If we send ?check=true then client can send value to check and value-to-check as part of URI like PUT or POST /table/<row>/<column>:<qualifier> ?(/<check:true>) ?(/<value-to-check>) ?(/<timestamp>) (with Put object as content) Delete on RowResource uses only request-URI and there is no way to get CellSetModel (which holds the content of Delete object, as part of checkAndDelete API). If we go by HTTP @Delete method then how do we send the entity-body (content)? Ref: http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html#sec9.7 Can we treat checkAndDelete as HTTP PUT or POST operation and send the Delete object content as entity-body? so, the request URI would look like checkAndPut: PUT (or) POST /table/<row>/<column>:<qualifier> ?(/<checkandput:true>) ?(/<value-to-check>) ?(/<timestamp>) checkAndDelete: PUT (or) POST /table/<row>/<column>:<qualifier> ?(/<checkanddelete:true>) ?(/<value-to-check>) ?(/<timestamp>) we can make use of put or post in RowResource and refactor the put()/post() code to handle both put/checkAndPut and delete/checkAndDelete. Option 2: If we dont want to refactor the RowResource code, we can create new resource (such as /checkandput and /checkanddelete) then we can append the /table/<row>/... convention
        Hide
        Ted Yu added a comment -

        I think option 2 is more favorable.

        Show
        Ted Yu added a comment - I think option 2 is more favorable.
        Hide
        Mubarak Seyed added a comment -

        +1 for option 2

        Show
        Mubarak Seyed added a comment - +1 for option 2
        Hide
        stack added a comment -

        Option 2 sounds better. How do you pass the value to check in option 2? You can't pass it as attribute because it could be binary, right? Maybe in the body of the put, you have two values, first the one to check then the one to set if it pans out. Ditto delete?

        Show
        stack added a comment - Option 2 sounds better. How do you pass the value to check in option 2? You can't pass it as attribute because it could be binary, right? Maybe in the body of the put, you have two values, first the one to check then the one to set if it pans out. Ditto delete?
        Hide
        Mubarak Seyed added a comment -

        Thanks Stack. Yeah, i can pass the value-to-check in the body of the Put/Delete.

        Show
        Mubarak Seyed added a comment - Thanks Stack. Yeah, i can pass the value-to-check in the body of the Put/Delete.
        Hide
        Mubarak Seyed added a comment -

        The attached file is a patch

        Show
        Mubarak Seyed added a comment - The attached file is a patch
        Hide
        Ted Yu added a comment - - edited

        The patch is of decent size, can you post on review board so that it is easier to correlate comments with code ?

        + * Copyright 2010 The Apache Software Foundation
        

        Year isn't needed in license.

        Looks like the two new CheckAndXXTableResource classes are cloned off of TableResource.java
        It would be nice to reuse code from TableResource.java, such as:

          void scanTransformAttrs() throws IOException {
        

        Refactoring is always an integral part of new feature.

        Thanks for your effort, Mubarak.

        Show
        Ted Yu added a comment - - edited The patch is of decent size, can you post on review board so that it is easier to correlate comments with code ? + * Copyright 2010 The Apache Software Foundation Year isn't needed in license. Looks like the two new CheckAndXXTableResource classes are cloned off of TableResource.java It would be nice to reuse code from TableResource.java, such as: void scanTransformAttrs() throws IOException { Refactoring is always an integral part of new feature. Thanks for your effort, Mubarak.
        Hide
        Mubarak Seyed added a comment -

        Sure, will refactor and post it on review board. Thanks.

        Show
        Mubarak Seyed added a comment - Sure, will refactor and post it on review board. Thanks.
        Hide
        Mubarak Seyed added a comment -

        Thanks Ted. This is what i think about refactoring the TableResource and CheckAndXXXXResource.

        I can't extend from TableResource as WebContainer ends up look for @Path in TableResource after calling super(table) in CheckAndXXXXResource, which causes web container to throw incorrect URI exception.

        Even if i make some of the methods (scanTransformAttrs) to static, it breaks on variables scope.

        I think we need a superClass for both TableResource and CheckAndXXXXResource, which can carry most of the methods (scanTransformAttrs, getTransform, setTransform, tranform), it would look like

        public class BasicResource extends ResourceBase{
        
           -- All the common methods --
        }
        
        public class TableResource extends BasicResource{
        
        }
        
        public class CheckAndXXXXResource extends BasicResource{
        
        }
        
        

        OR we can move all the common methods to ResourceBase and we can have overloaded constructor to send table name, like

        public ResourceBase(String table){
        
        }
        
        public ResourceBase(){
        
        }
        

        so that all other resource classes (such as VersionResource, SchemaResource, etc) does not need to change.

        I am just hacking the code with option #2 (moving methods to ResourceBase), will test it out, post them on review board then wait for comments.

        Thanks,
        Mubarak

        Show
        Mubarak Seyed added a comment - Thanks Ted. This is what i think about refactoring the TableResource and CheckAndXXXXResource. I can't extend from TableResource as WebContainer ends up look for @Path in TableResource after calling super(table) in CheckAndXXXXResource, which causes web container to throw incorrect URI exception. Even if i make some of the methods (scanTransformAttrs) to static, it breaks on variables scope. I think we need a superClass for both TableResource and CheckAndXXXXResource, which can carry most of the methods (scanTransformAttrs, getTransform, setTransform, tranform), it would look like public class BasicResource extends ResourceBase{ -- All the common methods -- } public class TableResource extends BasicResource{ } public class CheckAndXXXXResource extends BasicResource{ } OR we can move all the common methods to ResourceBase and we can have overloaded constructor to send table name, like public ResourceBase( String table){ } public ResourceBase(){ } so that all other resource classes (such as VersionResource, SchemaResource, etc) does not need to change. I am just hacking the code with option #2 (moving methods to ResourceBase), will test it out, post them on review board then wait for comments. Thanks, Mubarak
        Hide
        Ted Yu added a comment -

        Sounds good.
        Keep us posted.

        Show
        Ted Yu added a comment - Sounds good. Keep us posted.
        Hide
        Mubarak Seyed added a comment -

        Code is posted at https://reviews.apache.org/r/3250/ for review.

        Show
        Mubarak Seyed added a comment - Code is posted at https://reviews.apache.org/r/3250/ for review.
        Hide
        Ted Yu added a comment -

        The diff was made against 0.90.5
        I got the following when trying to apply to TRUNK:

        1 out of 2 hunks FAILED -- saving rejects to file src/main/java/org/apache/hadoop/hbase/rest/TableResource.java.rej
        

        I suggest the following steps based on TRUNK:
        1. continue with refactoring
        2. add unit tests for the new XXResource classes (remember to add test category)
        3. let Hadoop QA test the patch

        Minor comment: year isn't needed for license

        Thanks for your effort Mubarak.

        Show
        Ted Yu added a comment - The diff was made against 0.90.5 I got the following when trying to apply to TRUNK: 1 out of 2 hunks FAILED -- saving rejects to file src/main/java/org/apache/hadoop/hbase/ rest /TableResource.java.rej I suggest the following steps based on TRUNK: 1. continue with refactoring 2. add unit tests for the new XXResource classes (remember to add test category) 3. let Hadoop QA test the patch Minor comment: year isn't needed for license Thanks for your effort Mubarak.
        Hide
        Mubarak Seyed added a comment -

        Thanks Ted. I am done with refactor the code/unit-tests. Once unit test (with runLargeTests) ran, will update the diff to review board and update the patch here. Thanks.

        Show
        Mubarak Seyed added a comment - Thanks Ted. I am done with refactor the code/unit-tests. Once unit test (with runLargeTests) ran, will update the diff to review board and update the patch here. Thanks.
        Hide
        Mubarak Seyed added a comment -

        Regarding unit test classes, i dont need separate TestXXXXResource.java as checkAndPut/checkAndDelete are related to RowResource. I just added few test methods in RowResource, is that ok? or do i need to create separate TestCheckAndPutResource.java/TestCheckAndDeleteResource.java? Please confirm. Thanks.

        Show
        Mubarak Seyed added a comment - Regarding unit test classes, i dont need separate TestXXXXResource.java as checkAndPut/checkAndDelete are related to RowResource. I just added few test methods in RowResource, is that ok? or do i need to create separate TestCheckAndPutResource.java/TestCheckAndDeleteResource.java? Please confirm. Thanks.
        Hide
        Ted Yu added a comment -

        I think adding test methods in TestRowResource makes sense.

        Show
        Ted Yu added a comment - I think adding test methods in TestRowResource makes sense.
        Hide
        Mubarak Seyed added a comment -

        The attached file (HBASE-4720.v3.patch) contains refactored code with unit tests.

        Show
        Mubarak Seyed added a comment - The attached file ( HBASE-4720 .v3.patch) contains refactored code with unit tests.
        Hide
        Mubarak Seyed added a comment -

        Uploaded the patch (HBASE-4720.v3.patch) to review board

        https://reviews.apache.org/r/3250/diff/2/

        Show
        Mubarak Seyed added a comment - Uploaded the patch ( HBASE-4720 .v3.patch) to review board https://reviews.apache.org/r/3250/diff/2/
        Hide
        Ted Yu added a comment -

        I tried applying patch v3 on 0.92 and TRUNK but encountered similar errors.

        1 out of 1 hunk FAILED -- saving rejects to file src/main/java/org/apache/hadoop/hbase/rest/TableResource.java.rej
        1 out of 3 hunks FAILED -- saving rejects to file src/main/java/org/apache/hadoop/hbase/rest/ExistsResource.java.rej
        1 out of 30 hunks FAILED -- saving rejects to file src/main/java/org/apache/hadoop/hbase/rest/client/RemoteHTable.java.rej
        

        Please rebase patch on TRUNK so that Hadoop QA can test it.

        Show
        Ted Yu added a comment - I tried applying patch v3 on 0.92 and TRUNK but encountered similar errors. 1 out of 1 hunk FAILED -- saving rejects to file src/main/java/org/apache/hadoop/hbase/ rest /TableResource.java.rej 1 out of 3 hunks FAILED -- saving rejects to file src/main/java/org/apache/hadoop/hbase/ rest /ExistsResource.java.rej 1 out of 30 hunks FAILED -- saving rejects to file src/main/java/org/apache/hadoop/hbase/ rest /client/RemoteHTable.java.rej Please rebase patch on TRUNK so that Hadoop QA can test it.
        Hide
        Mubarak Seyed added a comment -

        This JIRA request was opened by my colleague as we need this feature in 0.90 branch as we have a requirement to use atomic update operations in production cluster. If this fix goes only in 0.92 and TRUNK then we need to wait a while. Can't we apply this patch under 0.90.6 branch? I can create a separate patch for 0.92 and TRUNK. Please confirm. Thanks.

        Show
        Mubarak Seyed added a comment - This JIRA request was opened by my colleague as we need this feature in 0.90 branch as we have a requirement to use atomic update operations in production cluster. If this fix goes only in 0.92 and TRUNK then we need to wait a while. Can't we apply this patch under 0.90.6 branch? I can create a separate patch for 0.92 and TRUNK. Please confirm. Thanks.
        Hide
        Ted Yu added a comment -

        I suggest working on patch for TRUNK.
        Once the review is done and patch gets integrated, you can backport it to 0.90

        This means you would run patched 0.90 build in production for a while before the backport is finalized in 0.90.6

        HBASE-4508 is such an example.

        Is the above procedure acceptable ?

        Show
        Ted Yu added a comment - I suggest working on patch for TRUNK. Once the review is done and patch gets integrated, you can backport it to 0.90 This means you would run patched 0.90 build in production for a while before the backport is finalized in 0.90.6 HBASE-4508 is such an example. Is the above procedure acceptable ?
        Hide
        Ted Yu added a comment -

        For patch based on 0.90 branch, you can still upload to reviewboard.
        Here was from Jonathan Hsieh:

        Assuming you are using git and have a single committed patch which is your
        current branch, I've found using git's 'git format-patch HEAD^' and using
        the generated file with the 'hbase-git' project to be the easiest. The file
        name generated should start with 0001-HBASE-xxxxx.patch.

        Show
        Ted Yu added a comment - For patch based on 0.90 branch, you can still upload to reviewboard. Here was from Jonathan Hsieh: Assuming you are using git and have a single committed patch which is your current branch, I've found using git's 'git format-patch HEAD^' and using the generated file with the 'hbase-git' project to be the easiest. The file name generated should start with 0001-HBASE-xxxxx.patch.
        Hide
        Mubarak Seyed added a comment -

        Okay, i will work on patch for TRUNK then. Thanks.

        Show
        Mubarak Seyed added a comment - Okay, i will work on patch for TRUNK then. Thanks.
        Hide
        Mubarak Seyed added a comment -

        when i ran the tests, it fails at

        Running org.apache.hadoop.hbase.util.TestRegionSplitCalculator
        Tests run: 14, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 0.077 sec <<< FAILURE!
        
        Failed tests:   testSplitCalculatorEq(org.apache.hadoop.hbase.util.TestRegionSplitCalculator): expected:<2> but was:<1>
        
        Show
        Mubarak Seyed added a comment - when i ran the tests, it fails at Running org.apache.hadoop.hbase.util.TestRegionSplitCalculator Tests run: 14, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 0.077 sec <<< FAILURE! Failed tests: testSplitCalculatorEq(org.apache.hadoop.hbase.util.TestRegionSplitCalculator): expected:<2> but was:<1>
        Hide
        Mubarak Seyed added a comment -

        The attached file (HBASE-4720.trunk.v1.patch) contains changes (after rebased patch on TRUNK)

        Show
        Mubarak Seyed added a comment - The attached file ( HBASE-4720 .trunk.v1.patch) contains changes (after rebased patch on TRUNK)
        Hide
        Mubarak Seyed added a comment -

        The attached file (HBASE-4720.trunk.v1.patch) contains changes after rebased on TRUNK.

        Thanks.

        Show
        Mubarak Seyed added a comment - The attached file ( HBASE-4720 .trunk.v1.patch) contains changes after rebased on TRUNK. Thanks.
        Hide
        Ted Yu added a comment -

        Can you update https://reviews.apache.org/r/3250 with patch for TRUNK ?

        Show
        Ted Yu added a comment - Can you update https://reviews.apache.org/r/3250 with patch for TRUNK ?
        Hide
        Ted Yu added a comment -
        [ERROR] /Users/zhihyu/trunk-hbase/src/main/java/org/apache/hadoop/hbase/rest/RootResource.java:[108,9] cannot find symbol
        [ERROR] symbol  : class CheckAndPutTableResource
        [ERROR] location: class org.apache.hadoop.hbase.rest.RootResource
        [ERROR] 
        [ERROR] /Users/zhihyu/trunk-hbase/src/main/java/org/apache/hadoop/hbase/rest/RootResource.java:[114,9] cannot find symbol
        [ERROR] symbol  : class CheckAndDeleteTableResource
        [ERROR] location: class org.apache.hadoop.hbase.rest.RootResource
        [ERROR] 
        

        I think some new files were not added as part of TRUNK patch.

        Show
        Ted Yu added a comment - [ERROR] /Users/zhihyu/trunk-hbase/src/main/java/org/apache/hadoop/hbase/ rest /RootResource.java:[108,9] cannot find symbol [ERROR] symbol : class CheckAndPutTableResource [ERROR] location: class org.apache.hadoop.hbase. rest .RootResource [ERROR] [ERROR] /Users/zhihyu/trunk-hbase/src/main/java/org/apache/hadoop/hbase/ rest /RootResource.java:[114,9] cannot find symbol [ERROR] symbol : class CheckAndDeleteTableResource [ERROR] location: class org.apache.hadoop.hbase. rest .RootResource [ERROR] I think some new files were not added as part of TRUNK patch.
        Hide
        Mubarak Seyed added a comment -

        Sorry for the inconvenience, i forgot to do 'svn add <file>' before the patch. The attached file contains updated patch. Thanks.

        Show
        Mubarak Seyed added a comment - Sorry for the inconvenience, i forgot to do 'svn add <file>' before the patch. The attached file contains updated patch. Thanks.
        Hide
        stack added a comment -

        @Mubarak That test fails for me too on a mac (I presume you are on a mac – smile). Need to dig in.

        Show
        stack added a comment - @Mubarak That test fails for me too on a mac (I presume you are on a mac – smile). Need to dig in.
        Hide
        stack added a comment -

        On patch:

        + Suggest you not do stuff like below in future because it bloats your patch making it more susceptible to rot and besides is not related directly to what you are trying to your fix so distracting for reviewers (for the next time):

        -  private static final HBaseRESTTestingUtility REST_TEST_UTIL = 
        -    new HBaseRESTTestingUtility();
        +  private static final HBaseRESTTestingUtility REST_TEST_UTIL = new HBaseRESTTestingUtility();
        

        + Is this safe? e.g. what if row has binary characters in it? Should these be base64'd or something?

        +    path.append('/');
        +    path.append("checkandput");
        +    path.append('/');
        +    path.append(table);
        +    path.append('/');
        +    path.append(row);
        +    path.append('/');
        +    path.append(column);
        

        I suppose its not needed in a test (I missed that this is test code)

        You have some lines that are way too long.

        Else patch looks good to me on cursory review.

        Show
        stack added a comment - On patch: + Suggest you not do stuff like below in future because it bloats your patch making it more susceptible to rot and besides is not related directly to what you are trying to your fix so distracting for reviewers (for the next time): - private static final HBaseRESTTestingUtility REST_TEST_UTIL = - new HBaseRESTTestingUtility(); + private static final HBaseRESTTestingUtility REST_TEST_UTIL = new HBaseRESTTestingUtility(); + Is this safe? e.g. what if row has binary characters in it? Should these be base64'd or something? + path.append('/'); + path.append( "checkandput" ); + path.append('/'); + path.append(table); + path.append('/'); + path.append(row); + path.append('/'); + path.append(column); I suppose its not needed in a test (I missed that this is test code) You have some lines that are way too long. Else patch looks good to me on cursory review.
        Hide
        Mubarak Seyed added a comment -

        Thanks Stack.

        Suggest you not do stuff like below in future because it bloats your patch making it more susceptible to rot and besides is not related directly to what you are trying to your fix so distracting for reviewers (for the next time):

        I had formatted the code using HBASE-3678 eclipse_formatter_apache.xml. I apologize for messing up with format. Can you please advice on code formatting? (i believe hbase book also refers HBASE-3678 for code formatting)

        Is this safe? e.g. what if row has binary characters in it? Should these be base64'd or something?

        Other test methods in src/test/java/org/apache/hadoop/hbase/rest/TestRowResources.java uses the same way to build the URI (deleteRow, deleteValue, putValuePB, etc). I just copied the code from other methods.

        You have some lines that are way too long.

        eclipse-code-formatter.xml uses line length as 80, please advice on line length.

        <setting id="org.eclipse.jdt.core.formatter.comment.line_length" value="80"/>
        
        Show
        Mubarak Seyed added a comment - Thanks Stack. Suggest you not do stuff like below in future because it bloats your patch making it more susceptible to rot and besides is not related directly to what you are trying to your fix so distracting for reviewers (for the next time): I had formatted the code using HBASE-3678 eclipse_formatter_apache.xml . I apologize for messing up with format. Can you please advice on code formatting? (i believe hbase book also refers HBASE-3678 for code formatting) Is this safe? e.g. what if row has binary characters in it? Should these be base64'd or something? Other test methods in src/test/java/org/apache/hadoop/hbase/rest/TestRowResources.java uses the same way to build the URI ( deleteRow, deleteValue, putValuePB, etc). I just copied the code from other methods. You have some lines that are way too long. eclipse-code-formatter.xml uses line length as 80, please advice on line length. <setting id= "org.eclipse.jdt.core.formatter.comment.line_length" value= "80" />
        Hide
        Ted Yu added a comment -

        I posted comment on review board.

        @Andrew:
        Can you take a look at the latest patch ?

        Show
        Ted Yu added a comment - I posted comment on review board. @Andrew: Can you take a look at the latest patch ?
        Hide
        Ted Yu added a comment -

        @Mubarak:
        I think the rule you posted only governs comment.
        I tried auto-formatting a long line which has 3 identical short statements. There was no auto-wrapping.

        Show
        Ted Yu added a comment - @Mubarak: I think the rule you posted only governs comment. I tried auto-formatting a long line which has 3 identical short statements. There was no auto-wrapping.
        Hide
        Mubarak Seyed added a comment -

        @Ted:
        eclipse_formatter_apache.xml does not work for long lines. Do you mind to post your eclipse formatter rule file? Thanks.

        Show
        Mubarak Seyed added a comment - @Ted: eclipse_formatter_apache.xml does not work for long lines. Do you mind to post your eclipse formatter rule file? Thanks.
        Hide
        Ted Yu added a comment -

        I used the formatter provided by Nicolas.

        Please adjust line length manually.

        Show
        Ted Yu added a comment - I used the formatter provided by Nicolas. Please adjust line length manually.
        Hide
        Mubarak Seyed added a comment -

        I addressed most of the review comments, will wait until get more review comments from Andrew (and others).

        parameter update is not being used in other places as well.
        
        RowResoure.java:
        ----------------
        Response update(final CellSetModel model, final boolean replace)
        
        Response updateBinary(final byte[] message, final HttpHeaders headers,
              final boolean replace) 
        
        ScannerResource.java:
        ---------------------
        Response update(final ScannerModel model, final boolean replace,
              final UriInfo uriInfo) {
        
        Show
        Mubarak Seyed added a comment - I addressed most of the review comments, will wait until get more review comments from Andrew (and others). parameter update is not being used in other places as well. RowResoure.java: ---------------- Response update( final CellSetModel model, final boolean replace) Response updateBinary( final byte [] message, final HttpHeaders headers, final boolean replace) ScannerResource.java: --------------------- Response update( final ScannerModel model, final boolean replace, final UriInfo uriInfo) {
        Hide
        stack added a comment -

        @Mubarak Understood (re: formatter). Would suggest you not run it on total file when changing a few lines in the file only; we've not been doing a good job enforcing formatting across the code base so forcing formatting on all of a file will usually turn up loads of changes. When loads of changes, your patch gets big. Big patches are harder to get reviews on. Just some advice for next time.

        On the test URL making, sounds good.

        Show
        stack added a comment - @Mubarak Understood (re: formatter). Would suggest you not run it on total file when changing a few lines in the file only; we've not been doing a good job enforcing formatting across the code base so forcing formatting on all of a file will usually turn up loads of changes. When loads of changes, your patch gets big. Big patches are harder to get reviews on. Just some advice for next time. On the test URL making, sounds good.
        Hide
        Mubarak Seyed added a comment -

        The attached file (HBASE-4720.trunk.v2.patch) addresses most of the code review comments.

        Thanks.

        Show
        Mubarak Seyed added a comment - The attached file ( HBASE-4720 .trunk.v2.patch) addresses most of the code review comments. Thanks.
        Hide
        stack added a comment -

        lgtm on cursory review. I'll commit in a few days. Maybe Andrew will take a look meantime.

        Show
        stack added a comment - lgtm on cursory review. I'll commit in a few days. Maybe Andrew will take a look meantime.
        Hide
        Ted Yu added a comment -

        @Mubarak:
        Please resubmit patch for Hadoop QA - build machine was just restarted.

        Show
        Ted Yu added a comment - @Mubarak: Please resubmit patch for Hadoop QA - build machine was just restarted.
        Hide
        Mubarak Seyed added a comment -

        Per Ted's request, resubmitting the patch. Thanks.

        Show
        Mubarak Seyed added a comment - Per Ted's request, resubmitting the patch. Thanks.
        Hide
        Hadoop QA added a comment -

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

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

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

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

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

        -1 findbugs. The patch appears to introduce 77 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.mapred.TestTableMapReduce
        org.apache.hadoop.hbase.mapreduce.TestHFileOutputFormat

        Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/583//testReport/
        Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/583//artifact/trunk/patchprocess/newPatchFindbugsWarnings.html
        Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/583//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/12508447/HBASE-4720.trunk.v2.patch against trunk revision . +1 @author. The patch does not contain any @author tags. +1 tests included. The patch appears to include 6 new or modified tests. -1 javadoc. The javadoc tool appears to have generated -151 warning messages. +1 javac. The applied patch does not increase the total number of javac compiler warnings. -1 findbugs. The patch appears to introduce 77 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.mapred.TestTableMapReduce org.apache.hadoop.hbase.mapreduce.TestHFileOutputFormat Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/583//testReport/ Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/583//artifact/trunk/patchprocess/newPatchFindbugsWarnings.html Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/583//console This message is automatically generated.
        Hide
        Ted Yu added a comment -

        The failed tests were due to NumberFormatException (see MAPREDUCE-3583)
        TestMasterReplication hung but shouldn't be caused by this JIRA.

        The latest patch should be good to go.

        Show
        Ted Yu added a comment - The failed tests were due to NumberFormatException (see MAPREDUCE-3583 ) TestMasterReplication hung but shouldn't be caused by this JIRA. The latest patch should be good to go.
        Hide
        Hadoop QA added a comment -

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

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

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

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

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

        -1 findbugs. The patch appears to introduce 77 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.TestCoprocessorEndpoint

        Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/584//testReport/
        Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/584//artifact/trunk/patchprocess/newPatchFindbugsWarnings.html
        Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/584//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/12508468/HBASE-4720.trunk.v2.patch against trunk revision . +1 @author. The patch does not contain any @author tags. +1 tests included. The patch appears to include 6 new or modified tests. -1 javadoc. The javadoc tool appears to have generated -151 warning messages. +1 javac. The applied patch does not increase the total number of javac compiler warnings. -1 findbugs. The patch appears to introduce 77 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.TestCoprocessorEndpoint Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/584//testReport/ Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/584//artifact/trunk/patchprocess/newPatchFindbugsWarnings.html Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/584//console This message is automatically generated.
        Hide
        Mubarak Seyed added a comment -

        Thanks Ted and Stack.

        Show
        Mubarak Seyed added a comment - Thanks Ted and Stack.
        Hide
        Mubarak Seyed added a comment -

        The attached file (HBASE-4720.trunk.v3.patch) contains changes for Andrew Purtell's code review comments.

        This patch does not cover the following from Andrew's comments:

        >The REST gateway does support a batch put operation, where the supplied model contains multiple rows. The request URI will contain the table name and a row key, but the row key would be ignored and should be set to something known not to exist, like "submit". (Row name in the model takes preference to whatever was supplied in the URI.) See RowResource, starting around line 160. This gives the client the option of submitting work in batch, to reduce overheads.

        So optionally here you could retrieve a list of rows and process them, building a response that includes the disposition of each.

        HTable.checkAndPut and HTable.checkAndDelete
        API supports only one row at a time (http://hbase.apache.org/apidocs/org/apache/hadoop/hbase/client/HTable.html#checkAndPut(byte[], byte[], byte[], byte[], org.apache.hadoop.hbase.client.Put)). I don't think we need to support batch of checkAndPut and checkAndDelete.

        >The URI format for requests is '/<table>/<row>/ ...' This violates that by adding, just for check-and cases, a prefix. Having a special case like that should be avoided. What about handling this in TableResource, with a query parameter? '/<table>/<row>/?check' E.g.Then you won't need CheckAndXTableResource classes. Additionally use the appropriate HTTP operations. PUT/POST for check-and-put. DELETE for check-and-delete. The spec does not forbid bodies in DELETE requests. (I am unsure if Jetty/Jersey will support it however.)

        We have discussed the design choices earlier (refer comments in the same JIRA), Stack and Ted have voted for option # 2 (/checkandput, /checkanddelete) option. If i have to go back to option #1 then i will have to re-work most of the stuff here.

        Show
        Mubarak Seyed added a comment - The attached file ( HBASE-4720 .trunk.v3.patch) contains changes for Andrew Purtell's code review comments. This patch does not cover the following from Andrew's comments: >The REST gateway does support a batch put operation, where the supplied model contains multiple rows. The request URI will contain the table name and a row key, but the row key would be ignored and should be set to something known not to exist, like "submit". (Row name in the model takes preference to whatever was supplied in the URI.) See RowResource, starting around line 160. This gives the client the option of submitting work in batch, to reduce overheads. So optionally here you could retrieve a list of rows and process them, building a response that includes the disposition of each. HTable.checkAndPut and HTable.checkAndDelete API supports only one row at a time ( http://hbase.apache.org/apidocs/org/apache/hadoop/hbase/client/HTable.html#checkAndPut(byte[ ], byte[], byte[], byte[], org.apache.hadoop.hbase.client.Put)). I don't think we need to support batch of checkAndPut and checkAndDelete. >The URI format for requests is '/<table>/<row>/ ...' This violates that by adding, just for check-and cases, a prefix. Having a special case like that should be avoided. What about handling this in TableResource, with a query parameter? '/<table>/<row>/?check' E.g.Then you won't need CheckAndXTableResource classes. Additionally use the appropriate HTTP operations. PUT/POST for check-and-put. DELETE for check-and-delete. The spec does not forbid bodies in DELETE requests. (I am unsure if Jetty/Jersey will support it however.) We have discussed the design choices earlier (refer comments in the same JIRA), Stack and Ted have voted for option # 2 (/checkandput, /checkanddelete) option. If i have to go back to option #1 then i will have to re-work most of the stuff here.
        Hide
        Mubarak Seyed added a comment -

        This patch does not cover the following from Andrew's comments:

        The REST gateway does support a batch put operation, where the supplied model contains multiple rows. The request URI will contain the table name and a row key, but the row key would be ignored and should be set to something known not to exist, like "submit". (Row name in the model takes preference to whatever was supplied in the URI.) See RowResource, starting around line 160. This gives the client the option of submitting work in batch, to reduce overheads.

        So optionally here you could retrieve a list of rows and process them, building a response that includes the disposition of each.

        HTable.checkAndPut and HTable.checkAndDelete
        API supports only one row at a time. I don't think we need to support batch of checkAndPut and checkAndDelete.

        The URI format for requests is '/<table>/<row>/ ...' This violates that by adding, just for check-and cases, a prefix. Having a special case like that should be avoided. What about handling this in TableResource, with a query parameter? '/<table>/<row>/?check' E.g.Then you won't need CheckAndXTableResource classes. Additionally use the appropriate HTTP operations. PUT/POST for check-and-put. DELETE for check-and-delete. The spec does not forbid bodies in DELETE requests. (I am unsure if Jetty/Jersey will support it however.)

        We have discussed the design choices earlier (refer comments in the same JIRA), Stack and Ted have voted for option # 2 (/checkandput, /checkanddelete) option. If i have to go back to option #1 then i will have to re-work most of the stuff here.

        Show
        Mubarak Seyed added a comment - This patch does not cover the following from Andrew's comments: The REST gateway does support a batch put operation, where the supplied model contains multiple rows. The request URI will contain the table name and a row key, but the row key would be ignored and should be set to something known not to exist, like "submit". (Row name in the model takes preference to whatever was supplied in the URI.) See RowResource, starting around line 160. This gives the client the option of submitting work in batch, to reduce overheads. So optionally here you could retrieve a list of rows and process them, building a response that includes the disposition of each. HTable.checkAndPut and HTable.checkAndDelete API supports only one row at a time. I don't think we need to support batch of checkAndPut and checkAndDelete. The URI format for requests is '/<table>/<row>/ ...' This violates that by adding, just for check-and cases, a prefix. Having a special case like that should be avoided. What about handling this in TableResource, with a query parameter? '/<table>/<row>/?check' E.g.Then you won't need CheckAndXTableResource classes. Additionally use the appropriate HTTP operations. PUT/POST for check-and-put. DELETE for check-and-delete. The spec does not forbid bodies in DELETE requests. (I am unsure if Jetty/Jersey will support it however.) We have discussed the design choices earlier (refer comments in the same JIRA), Stack and Ted have voted for option # 2 (/checkandput, /checkanddelete) option. If i have to go back to option #1 then i will have to re-work most of the stuff here.
        Hide
        Hadoop QA added a comment -

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

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

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

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

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

        -1 findbugs. The patch appears to introduce 81 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.TestHFileOutputFormat
        org.apache.hadoop.hbase.rest.TestRowResource
        org.apache.hadoop.hbase.mapred.TestTableMapReduce
        org.apache.hadoop.hbase.mapreduce.TestImportTsv

        Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/740//testReport/
        Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/740//artifact/trunk/patchprocess/newPatchFindbugsWarnings.html
        Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/740//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/12510293/HBASE-4720.trunk.v3.patch against trunk revision . +1 @author. The patch does not contain any @author tags. +1 tests included. The patch appears to include 6 new or modified tests. -1 javadoc. The javadoc tool appears to have generated -146 warning messages. +1 javac. The applied patch does not increase the total number of javac compiler warnings. -1 findbugs. The patch appears to introduce 81 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.TestHFileOutputFormat org.apache.hadoop.hbase.rest.TestRowResource org.apache.hadoop.hbase.mapred.TestTableMapReduce org.apache.hadoop.hbase.mapreduce.TestImportTsv Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/740//testReport/ Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/740//artifact/trunk/patchprocess/newPatchFindbugsWarnings.html Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/740//console This message is automatically generated.
        Hide
        Mubarak Seyed added a comment -

        My local tests were keep failing on trunk, will fix the TestRowResource.

        Show
        Mubarak Seyed added a comment - My local tests were keep failing on trunk, will fix the TestRowResource.
        Hide
        Mubarak Seyed added a comment -

        Tests were still failing for runMediumTests on trunk but i have fixed the TestRowResource. The attached file (HBASE-4720.trunk.v4.patch) is a latest patch. Thanks.

        mvn clean test -P runMediumTests -Dtest=org.apache.hadoop.hbase.rest.*
        
        Running org.apache.hadoop.hbase.rest.TestRowResource
        Tests run: 11, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 22.099 se
        
        Show
        Mubarak Seyed added a comment - Tests were still failing for runMediumTests on trunk but i have fixed the TestRowResource. The attached file ( HBASE-4720 .trunk.v4.patch) is a latest patch. Thanks. mvn clean test -P runMediumTests -Dtest=org.apache.hadoop.hbase. rest .* Running org.apache.hadoop.hbase. rest .TestRowResource Tests run: 11, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 22.099 se
        Hide
        Hadoop QA added a comment -

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

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

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

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

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

        -1 findbugs. The patch appears to introduce 81 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.TestImportTsv
        org.apache.hadoop.hbase.mapred.TestTableMapReduce
        org.apache.hadoop.hbase.mapreduce.TestHFileOutputFormat

        Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/743//testReport/
        Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/743//artifact/trunk/patchprocess/newPatchFindbugsWarnings.html
        Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/743//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/12510309/HBASE-4720.trunk.v4.patch against trunk revision . +1 @author. The patch does not contain any @author tags. +1 tests included. The patch appears to include 6 new or modified tests. -1 javadoc. The javadoc tool appears to have generated -146 warning messages. +1 javac. The applied patch does not increase the total number of javac compiler warnings. -1 findbugs. The patch appears to introduce 81 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.TestImportTsv org.apache.hadoop.hbase.mapred.TestTableMapReduce org.apache.hadoop.hbase.mapreduce.TestHFileOutputFormat Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/743//testReport/ Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/743//artifact/trunk/patchprocess/newPatchFindbugsWarnings.html Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/743//console This message is automatically generated.
        Hide
        Ted Yu added a comment -

        Latest patch passed unit tests.

        Show
        Ted Yu added a comment - Latest patch passed unit tests.
        Hide
        Ted Yu added a comment -

        @Andrew:
        Can you take a look at patch v4, please ?

        Show
        Ted Yu added a comment - @Andrew: Can you take a look at patch v4, please ?
        Hide
        Ted Yu added a comment -

        Minor comments:

        +   * Validates the input request parameters, parse columns from CellSetModel,
        +   * and invoke checkAndPut on HTable.
        

        should read 'parses columns ... and invokes ...'
        Same applies to CheckAndDeleteRowResource.update()

        Please remove the year in CheckAndPutRowResource.java

        Nice job.

        Show
        Ted Yu added a comment - Minor comments: + * Validates the input request parameters, parse columns from CellSetModel, + * and invoke checkAndPut on HTable. should read 'parses columns ... and invokes ...' Same applies to CheckAndDeleteRowResource.update() Please remove the year in CheckAndPutRowResource.java Nice job.
        Hide
        Ted Yu added a comment -

        @Andrew:
        Can you please review patch v4 ?

        Show
        Ted Yu added a comment - @Andrew: Can you please review patch v4 ?
        Hide
        Ted Yu added a comment -

        @Mubarak:
        Now that Andy removed support for transformation, can you rebase your patch ?

        Hunk #2 FAILED at 49.
        2 out of 2 hunks FAILED -- saving rejects to file src/main/java/org/apache/hadoop/hbase/rest/TableResource.java.rej
        

        If you can address comment @ 12/Jan/12 19:19, that would great.

        Show
        Ted Yu added a comment - @Mubarak: Now that Andy removed support for transformation, can you rebase your patch ? Hunk #2 FAILED at 49. 2 out of 2 hunks FAILED -- saving rejects to file src/main/java/org/apache/hadoop/hbase/ rest /TableResource.java.rej If you can address comment @ 12/Jan/12 19:19, that would great.
        Hide
        Mubarak Seyed added a comment -

        The attached patch (HBASE-4720.trunk.v5.patch) rebased on trunk, removed the previous refactoring (ResourceBase) and Unit tested.

        test-test:hbase-trunk-test mubarak$ patch -p0 -i ~/HBASE-4720.trunk.v5.patch 
        patching file src/test/java/org/apache/hadoop/hbase/rest/TestRowResource.java
        patching file src/main/java/org/apache/hadoop/hbase/rest/CheckAndPutTableResource.java
        patching file src/main/java/org/apache/hadoop/hbase/rest/CheckAndPutRowResource.java
        patching file src/main/java/org/apache/hadoop/hbase/rest/CheckAndDeleteTableResource.java
        patching file src/main/java/org/apache/hadoop/hbase/rest/CheckAndDeleteRowResource.java
        patching file src/main/java/org/apache/hadoop/hbase/rest/RootResource.java
        patching file src/main/java/org/apache/hadoop/hbase/rest/client/RemoteHTable.java
        
        Show
        Mubarak Seyed added a comment - The attached patch ( HBASE-4720 .trunk.v5.patch) rebased on trunk, removed the previous refactoring (ResourceBase) and Unit tested. test-test:hbase-trunk-test mubarak$ patch -p0 -i ~/HBASE-4720.trunk.v5.patch patching file src/test/java/org/apache/hadoop/hbase/ rest /TestRowResource.java patching file src/main/java/org/apache/hadoop/hbase/ rest /CheckAndPutTableResource.java patching file src/main/java/org/apache/hadoop/hbase/ rest /CheckAndPutRowResource.java patching file src/main/java/org/apache/hadoop/hbase/ rest /CheckAndDeleteTableResource.java patching file src/main/java/org/apache/hadoop/hbase/ rest /CheckAndDeleteRowResource.java patching file src/main/java/org/apache/hadoop/hbase/ rest /RootResource.java patching file src/main/java/org/apache/hadoop/hbase/ rest /client/RemoteHTable.java
        Hide
        Hadoop QA added a comment -

        -1 overall. Here are the results of testing the latest attachment
        http://issues.apache.org/jira/secure/attachment/12511419/HBASE-4720.trunk.v5.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 appears to have generated -145 warning messages.

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

        -1 findbugs. The patch appears to introduce 85 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.replication.TestReplicationPeer
        org.apache.hadoop.hbase.mapreduce.TestImportTsv
        org.apache.hadoop.hbase.mapred.TestTableMapReduce
        org.apache.hadoop.hbase.mapreduce.TestHFileOutputFormat

        Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/832//testReport/
        Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/832//artifact/trunk/patchprocess/newPatchFindbugsWarnings.html
        Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/832//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/12511419/HBASE-4720.trunk.v5.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 appears to have generated -145 warning messages. +1 javac. The applied patch does not increase the total number of javac compiler warnings. -1 findbugs. The patch appears to introduce 85 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.replication.TestReplicationPeer org.apache.hadoop.hbase.mapreduce.TestImportTsv org.apache.hadoop.hbase.mapred.TestTableMapReduce org.apache.hadoop.hbase.mapreduce.TestHFileOutputFormat Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/832//testReport/ Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/832//artifact/trunk/patchprocess/newPatchFindbugsWarnings.html Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/832//console This message is automatically generated.
        Hide
        Ted Yu added a comment -

        Patch v5 looks good.

        +   * @return Response 200 for OK and 304 for not-modified
        

        BAD_REQUEST is 400. Please update the above javadoc for the two update methods.

        @Andrew:
        Do you have comments about patch v5 ?

        Show
        Ted Yu added a comment - Patch v5 looks good. + * @ return Response 200 for OK and 304 for not-modified BAD_REQUEST is 400. Please update the above javadoc for the two update methods. @Andrew: Do you have comments about patch v5 ?
        Hide
        Mubarak Seyed added a comment -

        The attached file (HBASE-4720.trunk.v6.patch) is updated patch file. Thanks.

        Show
        Mubarak Seyed added a comment - The attached file ( HBASE-4720 .trunk.v6.patch) is updated patch file. Thanks.
        Hide
        Hadoop QA added a comment -

        -1 overall. Here are the results of testing the latest attachment
        http://issues.apache.org/jira/secure/attachment/12511535/HBASE-4720.trunk.v6.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 appears to have generated -145 warning messages.

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

        -1 findbugs. The patch appears to introduce 85 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.TestImportTsv
        org.apache.hadoop.hbase.mapred.TestTableMapReduce
        org.apache.hadoop.hbase.mapreduce.TestHFileOutputFormat

        Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/841//testReport/
        Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/841//artifact/trunk/patchprocess/newPatchFindbugsWarnings.html
        Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/841//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/12511535/HBASE-4720.trunk.v6.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 appears to have generated -145 warning messages. +1 javac. The applied patch does not increase the total number of javac compiler warnings. -1 findbugs. The patch appears to introduce 85 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.TestImportTsv org.apache.hadoop.hbase.mapred.TestTableMapReduce org.apache.hadoop.hbase.mapreduce.TestHFileOutputFormat Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/841//testReport/ Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/841//artifact/trunk/patchprocess/newPatchFindbugsWarnings.html Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/841//console This message is automatically generated.
        Hide
        Ted Yu added a comment -

        Patch v6 looks good.
        Will integrate if Andrew doesn't have further comment.

        Show
        Ted Yu added a comment - Patch v6 looks good. Will integrate if Andrew doesn't have further comment.
        Hide
        Lars Hofhansl added a comment -

        Should we add another jira for supporting the new RowMutations? (HBASE-3584 and HBASE-5203)

        Show
        Lars Hofhansl added a comment - Should we add another jira for supporting the new RowMutations? ( HBASE-3584 and HBASE-5203 )
        Hide
        Ted Yu added a comment -

        @Lars:
        Feel free to create one JIRA for RowMutations.

        Show
        Ted Yu added a comment - @Lars: Feel free to create one JIRA for RowMutations.
        Hide
        Ted Yu added a comment -

        Integrated to TRUNK.

        Thanks for the patch Mubarak.

        Thanks for the review comments, Andrew.

        Show
        Ted Yu added a comment - Integrated to TRUNK. Thanks for the patch Mubarak. Thanks for the review comments, Andrew.
        Hide
        Andrew Purtell added a comment -

        Ted, I am going to revert your commit.

        The URI format for requests is '/<table>/<row>/ ...' This violates that by adding, just for check-and cases, a prefix. Having a special case like that should be avoided. What about handling this in TableResource, with a query parameter? '/<table>/<row>/?check' E.g.Then you won't need CheckAndXTableResource classes. Additionally use the appropriate HTTP operations. PUT/POST for check-and-put. DELETE for check-and-delete. The spec does not forbid bodies in DELETE requests. (I am unsure if Jetty/Jersey will support it however.)

        We have discussed the design choices earlier (refer comments in the same JIRA), Stack and Ted have voted for option # 2 (/checkandput, /checkanddelete) option. If i have to go back to option #1 then i will have to re-work most of the stuff here.

        This has not changed, therefore -1.

        Show
        Andrew Purtell added a comment - Ted, I am going to revert your commit. The URI format for requests is '/<table>/<row>/ ...' This violates that by adding, just for check-and cases, a prefix. Having a special case like that should be avoided. What about handling this in TableResource, with a query parameter? '/<table>/<row>/?check' E.g.Then you won't need CheckAndXTableResource classes. Additionally use the appropriate HTTP operations. PUT/POST for check-and-put. DELETE for check-and-delete. The spec does not forbid bodies in DELETE requests. (I am unsure if Jetty/Jersey will support it however.) We have discussed the design choices earlier (refer comments in the same JIRA), Stack and Ted have voted for option # 2 (/checkandput, /checkanddelete) option. If i have to go back to option #1 then i will have to re-work most of the stuff here. This has not changed, therefore -1.
        Hide
        Andrew Purtell added a comment -

        Actually Ted you should now honor my -1 and revert that commit. Next time allow me chance to find out there is even a discussion happening. Stack brought this to my attention late last night only.

        Show
        Andrew Purtell added a comment - Actually Ted you should now honor my -1 and revert that commit. Next time allow me chance to find out there is even a discussion happening. Stack brought this to my attention late last night only.
        Hide
        Andrew Purtell added a comment -

        Either the current semantics for REST paths remain the same, that is /table/row/ ..., or every operation is changed to specify the operation first, e.g. /operation/table/row ... .

        Show
        Andrew Purtell added a comment - Either the current semantics for REST paths remain the same, that is /table/row/ ..., or every operation is changed to specify the operation first, e.g. /operation/table/row ... .
        Show
        Ted Yu added a comment - @Andrew: Glad to see your response. Mubarak responded to your comment at the end of: https://issues.apache.org/jira/browse/HBASE-4720?focusedCommentId=13184647&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-13184647 which refers to Stack's comment: https://issues.apache.org/jira/browse/HBASE-4720?focusedCommentId=13169969&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-13169969 I have been requesting your comment since Jan. 12th: https://issues.apache.org/jira/browse/HBASE-4720?focusedCommentId=13185150&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-13185150 I didn't see a -1 until this morning.
        Hide
        Andrew Purtell added a comment -

        Ted, I raised a objection on this issue and you committed it with that objection unaddressed before I had a chance to ack the commit candidate. I apologize if it was not clear my objection earlier was a -1. It was. I thought it clear enough, my mistake.

        Show
        Andrew Purtell added a comment - Ted, I raised a objection on this issue and you committed it with that objection unaddressed before I had a chance to ack the commit candidate. I apologize if it was not clear my objection earlier was a -1. It was. I thought it clear enough, my mistake.
        Hide
        Andrew Purtell added a comment -

        Anyway, my apologies, but this commit must be reverted. It is poor and IMO unacceptable design to have such an inconsistency in how request URLs should be constructed. Either the current semantics for REST paths remain the same, that is /table/row/ ..., or every operation is changed to specify the operation first, e.g. /operation/table/row ... .

        Show
        Andrew Purtell added a comment - Anyway, my apologies, but this commit must be reverted. It is poor and IMO unacceptable design to have such an inconsistency in how request URLs should be constructed. Either the current semantics for REST paths remain the same, that is /table/row/ ..., or every operation is changed to specify the operation first, e.g. /operation/table/row ... .
        Hide
        Ted Yu added a comment -

        That is Okay, Andy.
        I have reverted the patch.

        Let's start from the beginning.

        @Mubarak:
        Now that Andy has chosen option #1, can you work up a new patch ?

        Show
        Ted Yu added a comment - That is Okay, Andy. I have reverted the patch. Let's start from the beginning. @Mubarak: Now that Andy has chosen option #1, can you work up a new patch ?
        Hide
        Mubarak Seyed added a comment -

        Sure, will do. Thanks.

        Show
        Mubarak Seyed added a comment - Sure, will do. Thanks.
        Hide
        Hudson added a comment -

        Integrated in HBase-TRUNK-security #89 (See https://builds.apache.org/job/HBase-TRUNK-security/89/)
        HBASE-4720 revert until agreement is reached on solution
        HBASE-4720 Implement atomic update operations (checkAndPut, checkAndDelete) for REST client/server (Mubarak)

        tedyu :
        Files :

        • /hbase/trunk/src/main/java/org/apache/hadoop/hbase/rest/CheckAndDeleteRowResource.java
        • /hbase/trunk/src/main/java/org/apache/hadoop/hbase/rest/CheckAndDeleteTableResource.java
        • /hbase/trunk/src/main/java/org/apache/hadoop/hbase/rest/CheckAndPutRowResource.java
        • /hbase/trunk/src/main/java/org/apache/hadoop/hbase/rest/CheckAndPutTableResource.java
        • /hbase/trunk/src/main/java/org/apache/hadoop/hbase/rest/RootResource.java
        • /hbase/trunk/src/main/java/org/apache/hadoop/hbase/rest/client/RemoteHTable.java
        • /hbase/trunk/src/test/java/org/apache/hadoop/hbase/rest/TestRowResource.java

        tedyu :
        Files :

        • /hbase/trunk/src/main/java/org/apache/hadoop/hbase/rest/CheckAndDeleteRowResource.java
        • /hbase/trunk/src/main/java/org/apache/hadoop/hbase/rest/CheckAndDeleteTableResource.java
        • /hbase/trunk/src/main/java/org/apache/hadoop/hbase/rest/CheckAndPutRowResource.java
        • /hbase/trunk/src/main/java/org/apache/hadoop/hbase/rest/CheckAndPutTableResource.java
        • /hbase/trunk/src/main/java/org/apache/hadoop/hbase/rest/RootResource.java
        • /hbase/trunk/src/main/java/org/apache/hadoop/hbase/rest/client/RemoteHTable.java
        • /hbase/trunk/src/test/java/org/apache/hadoop/hbase/rest/TestRowResource.java
        Show
        Hudson added a comment - Integrated in HBase-TRUNK-security #89 (See https://builds.apache.org/job/HBase-TRUNK-security/89/ ) HBASE-4720 revert until agreement is reached on solution HBASE-4720 Implement atomic update operations (checkAndPut, checkAndDelete) for REST client/server (Mubarak) tedyu : Files : /hbase/trunk/src/main/java/org/apache/hadoop/hbase/rest/CheckAndDeleteRowResource.java /hbase/trunk/src/main/java/org/apache/hadoop/hbase/rest/CheckAndDeleteTableResource.java /hbase/trunk/src/main/java/org/apache/hadoop/hbase/rest/CheckAndPutRowResource.java /hbase/trunk/src/main/java/org/apache/hadoop/hbase/rest/CheckAndPutTableResource.java /hbase/trunk/src/main/java/org/apache/hadoop/hbase/rest/RootResource.java /hbase/trunk/src/main/java/org/apache/hadoop/hbase/rest/client/RemoteHTable.java /hbase/trunk/src/test/java/org/apache/hadoop/hbase/rest/TestRowResource.java tedyu : Files : /hbase/trunk/src/main/java/org/apache/hadoop/hbase/rest/CheckAndDeleteRowResource.java /hbase/trunk/src/main/java/org/apache/hadoop/hbase/rest/CheckAndDeleteTableResource.java /hbase/trunk/src/main/java/org/apache/hadoop/hbase/rest/CheckAndPutRowResource.java /hbase/trunk/src/main/java/org/apache/hadoop/hbase/rest/CheckAndPutTableResource.java /hbase/trunk/src/main/java/org/apache/hadoop/hbase/rest/RootResource.java /hbase/trunk/src/main/java/org/apache/hadoop/hbase/rest/client/RemoteHTable.java /hbase/trunk/src/test/java/org/apache/hadoop/hbase/rest/TestRowResource.java
        Hide
        Hudson added a comment -

        Integrated in HBase-TRUNK #2646 (See https://builds.apache.org/job/HBase-TRUNK/2646/)
        HBASE-4720 revert until agreement is reached on solution
        HBASE-4720 Implement atomic update operations (checkAndPut, checkAndDelete) for REST client/server (Mubarak)

        tedyu :
        Files :

        • /hbase/trunk/src/main/java/org/apache/hadoop/hbase/rest/CheckAndDeleteRowResource.java
        • /hbase/trunk/src/main/java/org/apache/hadoop/hbase/rest/CheckAndDeleteTableResource.java
        • /hbase/trunk/src/main/java/org/apache/hadoop/hbase/rest/CheckAndPutRowResource.java
        • /hbase/trunk/src/main/java/org/apache/hadoop/hbase/rest/CheckAndPutTableResource.java
        • /hbase/trunk/src/main/java/org/apache/hadoop/hbase/rest/RootResource.java
        • /hbase/trunk/src/main/java/org/apache/hadoop/hbase/rest/client/RemoteHTable.java
        • /hbase/trunk/src/test/java/org/apache/hadoop/hbase/rest/TestRowResource.java

        tedyu :
        Files :

        • /hbase/trunk/src/main/java/org/apache/hadoop/hbase/rest/CheckAndDeleteRowResource.java
        • /hbase/trunk/src/main/java/org/apache/hadoop/hbase/rest/CheckAndDeleteTableResource.java
        • /hbase/trunk/src/main/java/org/apache/hadoop/hbase/rest/CheckAndPutRowResource.java
        • /hbase/trunk/src/main/java/org/apache/hadoop/hbase/rest/CheckAndPutTableResource.java
        • /hbase/trunk/src/main/java/org/apache/hadoop/hbase/rest/RootResource.java
        • /hbase/trunk/src/main/java/org/apache/hadoop/hbase/rest/client/RemoteHTable.java
        • /hbase/trunk/src/test/java/org/apache/hadoop/hbase/rest/TestRowResource.java
        Show
        Hudson added a comment - Integrated in HBase-TRUNK #2646 (See https://builds.apache.org/job/HBase-TRUNK/2646/ ) HBASE-4720 revert until agreement is reached on solution HBASE-4720 Implement atomic update operations (checkAndPut, checkAndDelete) for REST client/server (Mubarak) tedyu : Files : /hbase/trunk/src/main/java/org/apache/hadoop/hbase/rest/CheckAndDeleteRowResource.java /hbase/trunk/src/main/java/org/apache/hadoop/hbase/rest/CheckAndDeleteTableResource.java /hbase/trunk/src/main/java/org/apache/hadoop/hbase/rest/CheckAndPutRowResource.java /hbase/trunk/src/main/java/org/apache/hadoop/hbase/rest/CheckAndPutTableResource.java /hbase/trunk/src/main/java/org/apache/hadoop/hbase/rest/RootResource.java /hbase/trunk/src/main/java/org/apache/hadoop/hbase/rest/client/RemoteHTable.java /hbase/trunk/src/test/java/org/apache/hadoop/hbase/rest/TestRowResource.java tedyu : Files : /hbase/trunk/src/main/java/org/apache/hadoop/hbase/rest/CheckAndDeleteRowResource.java /hbase/trunk/src/main/java/org/apache/hadoop/hbase/rest/CheckAndDeleteTableResource.java /hbase/trunk/src/main/java/org/apache/hadoop/hbase/rest/CheckAndPutRowResource.java /hbase/trunk/src/main/java/org/apache/hadoop/hbase/rest/CheckAndPutTableResource.java /hbase/trunk/src/main/java/org/apache/hadoop/hbase/rest/RootResource.java /hbase/trunk/src/main/java/org/apache/hadoop/hbase/rest/client/RemoteHTable.java /hbase/trunk/src/test/java/org/apache/hadoop/hbase/rest/TestRowResource.java
        Hide
        Mubarak Seyed added a comment -

        The attached file (HBASE-4720.trunk.v7.patch) addresses option # 1 to add query param /table/row?check=put or /table/row?check=delete

        @Andrew
        Can you please review the changes?

        Show
        Mubarak Seyed added a comment - The attached file ( HBASE-4720 .trunk.v7.patch) addresses option # 1 to add query param /table/row?check=put or /table/row?check=delete @Andrew Can you please review the changes?
        Hide
        Ted Yu added a comment -

        @Mubarak:
        Thanks for your persistence.

        Please also describe the scenarios that you tested in your cluster.

        Show
        Ted Yu added a comment - @Mubarak: Thanks for your persistence. Please also describe the scenarios that you tested in your cluster.
        Hide
        Hadoop QA added a comment -

        -1 overall. Here are the results of testing the latest attachment
        http://issues.apache.org/jira/secure/attachment/12512066/HBASE-4720.trunk.v7.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 appears to have generated -140 warning messages.

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

        -1 findbugs. The patch appears to introduce 161 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.TestHFileOutputFormat
        org.apache.hadoop.hbase.mapred.TestTableMapReduce
        org.apache.hadoop.hbase.io.hfile.TestHFileBlock
        org.apache.hadoop.hbase.mapreduce.TestImportTsv

        Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/856//testReport/
        Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/856//artifact/trunk/patchprocess/newPatchFindbugsWarnings.html
        Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/856//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/12512066/HBASE-4720.trunk.v7.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 appears to have generated -140 warning messages. +1 javac. The applied patch does not increase the total number of javac compiler warnings. -1 findbugs. The patch appears to introduce 161 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.TestHFileOutputFormat org.apache.hadoop.hbase.mapred.TestTableMapReduce org.apache.hadoop.hbase.io.hfile.TestHFileBlock org.apache.hadoop.hbase.mapreduce.TestImportTsv Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/856//testReport/ Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/856//artifact/trunk/patchprocess/newPatchFindbugsWarnings.html Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/856//console This message is automatically generated.
        Hide
        Mubarak Seyed added a comment -

        @Ted
        I have tested with unit test suite (using -P runMediumTests)

        Running org.apache.hadoop.hbase.rest.TestMultiRowResource
        Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 21.421 sec
        2012-01-27 11:32:49.762 java[82087:10803] Unable to load realm info from SCDynamicStore
        Running org.apache.hadoop.hbase.rest.TestGzipFilter
        Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 30.149 sec
        2012-01-27 11:32:58.404 java[82108:10803] Unable to load realm info from SCDynamicStore
        Running org.apache.hadoop.hbase.rest.TestRowResource
        Tests run: 11, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 36.876 sec
        2012-01-27 11:33:27.716 java[82119:10803] Unable to load realm info from SCDynamicStore
        Running org.apache.hadoop.hbase.rest.TestScannerResource
        Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 43.012 sec
        2012-01-27 11:33:42.335 java[82141:10803] Unable to load realm info from SCDynamicStore
        Running org.apache.hadoop.hbase.rest.TestScannersWithFilters
        Tests run: 10, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 26.465 sec
        2012-01-27 11:33:55.059 java[82151:10803] Unable to load realm info from SCDynamicStore
        Running org.apache.hadoop.hbase.rest.TestStatusResource
        Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 20.569 sec
        2012-01-27 11:34:16.689 java[82160:10803] Unable to load realm info from SCDynamicStore
        Running org.apache.hadoop.hbase.rest.TestSchemaResource
        Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 54.973 sec
        2012-01-27 11:34:38.275 java[82181:10803] Unable to load realm info from SCDynamicStore
        Running org.apache.hadoop.hbase.rest.TestTableResource
        Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 40.286 sec
        Running org.apache.hadoop.hbase.rest.TestVersionResource
        Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 22.001 sec
        
        Results :
        Tests run: 51, Failures: 0, Errors: 0, Skipped: 0
        
        Show
        Mubarak Seyed added a comment - @Ted I have tested with unit test suite (using -P runMediumTests) Running org.apache.hadoop.hbase. rest .TestMultiRowResource Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 21.421 sec 2012-01-27 11:32:49.762 java[82087:10803] Unable to load realm info from SCDynamicStore Running org.apache.hadoop.hbase. rest .TestGzipFilter Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 30.149 sec 2012-01-27 11:32:58.404 java[82108:10803] Unable to load realm info from SCDynamicStore Running org.apache.hadoop.hbase. rest .TestRowResource Tests run: 11, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 36.876 sec 2012-01-27 11:33:27.716 java[82119:10803] Unable to load realm info from SCDynamicStore Running org.apache.hadoop.hbase. rest .TestScannerResource Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 43.012 sec 2012-01-27 11:33:42.335 java[82141:10803] Unable to load realm info from SCDynamicStore Running org.apache.hadoop.hbase. rest .TestScannersWithFilters Tests run: 10, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 26.465 sec 2012-01-27 11:33:55.059 java[82151:10803] Unable to load realm info from SCDynamicStore Running org.apache.hadoop.hbase. rest .TestStatusResource Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 20.569 sec 2012-01-27 11:34:16.689 java[82160:10803] Unable to load realm info from SCDynamicStore Running org.apache.hadoop.hbase. rest .TestSchemaResource Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 54.973 sec 2012-01-27 11:34:38.275 java[82181:10803] Unable to load realm info from SCDynamicStore Running org.apache.hadoop.hbase. rest .TestTableResource Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 40.286 sec Running org.apache.hadoop.hbase. rest .TestVersionResource Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 22.001 sec Results : Tests run: 51, Failures: 0, Errors: 0, Skipped: 0
        Hide
        Mubarak Seyed added a comment -

        The following scenarios are tested:

        1. 5 nodes dev cluster, running trunk

        • Generated load with curl for checkAndPut/checkAndDelete, tested for functional verification
        • Developed a test client, which uses HBaseAdmin APIs to test the atomic operations functionality (for positive/negative testcases)

        2. 7 nodes perf cluster, running trunk

        • Developed a test client, which uses HBaseAdmin APIs to test the atomic operations functionality (for positive/negative testcases).
        Show
        Mubarak Seyed added a comment - The following scenarios are tested: 1. 5 nodes dev cluster, running trunk Generated load with curl for checkAndPut/checkAndDelete, tested for functional verification Developed a test client, which uses HBaseAdmin APIs to test the atomic operations functionality (for positive/negative testcases) 2. 7 nodes perf cluster, running trunk Developed a test client, which uses HBaseAdmin APIs to test the atomic operations functionality (for positive/negative testcases).
        Hide
        Hadoop QA added a comment -

        -1 overall. Here are the results of testing the latest attachment
        http://issues.apache.org/jira/secure/attachment/12512066/HBASE-4720.trunk.v7.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 appears to have generated -136 warning messages.

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

        -1 findbugs. The patch appears to introduce 156 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.io.hfile.TestHFileBlock
        org.apache.hadoop.hbase.mapreduce.TestImportTsv
        org.apache.hadoop.hbase.mapred.TestTableMapReduce
        org.apache.hadoop.hbase.mapreduce.TestHFileOutputFormat

        Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/940//testReport/
        Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/940//artifact/trunk/patchprocess/newPatchFindbugsWarnings.html
        Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/940//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/12512066/HBASE-4720.trunk.v7.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 appears to have generated -136 warning messages. +1 javac. The applied patch does not increase the total number of javac compiler warnings. -1 findbugs. The patch appears to introduce 156 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.io.hfile.TestHFileBlock org.apache.hadoop.hbase.mapreduce.TestImportTsv org.apache.hadoop.hbase.mapred.TestTableMapReduce org.apache.hadoop.hbase.mapreduce.TestHFileOutputFormat Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/940//testReport/ Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/940//artifact/trunk/patchprocess/newPatchFindbugsWarnings.html Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/940//console This message is automatically generated.
        Hide
        Lars Hofhansl added a comment -

        What is the status of this?
        Moving to 0.96 for now. Pull back if you feel that this should go into 0.94.

        Show
        Lars Hofhansl added a comment - What is the status of this? Moving to 0.96 for now. Pull back if you feel that this should go into 0.94.
        Hide
        Mubarak Seyed added a comment -

        I was expecting Andy to review the new patch. Once it is reviewed, i can pull back to 0.94.x. Thanks.

        Show
        Mubarak Seyed added a comment - I was expecting Andy to review the new patch. Once it is reviewed, i can pull back to 0.94.x. Thanks.
        Hide
        stack added a comment -

        Moving back to 0.94.0 so Lars sees it.

        Show
        stack added a comment - Moving back to 0.94.0 so Lars sees it.
        Hide
        Lars Hofhansl added a comment -

        Needs to be reviewed today to get into 0.94.0. Can still aim for 0.94.1.

        Show
        Lars Hofhansl added a comment - Needs to be reviewed today to get into 0.94.0. Can still aim for 0.94.1.
        Hide
        Lars Hofhansl added a comment -

        FYI: Rest is not really my area, so I can't do a faithful review.

        Show
        Lars Hofhansl added a comment - FYI: Rest is not really my area, so I can't do a faithful review.
        Hide
        Lars Hofhansl added a comment -

        Let's try for 0.94.1

        Show
        Lars Hofhansl added a comment - Let's try for 0.94.1
        Hide
        Mubarak Seyed added a comment -

        Hi Andy,

        Can you please review the patch? Thanks.

        Show
        Mubarak Seyed added a comment - Hi Andy, Can you please review the patch? Thanks.
        Hide
        Andrew Purtell added a comment -

        Patch v7 still applies to trunk, but with some fuzz. Implementation looks fine, appropriate use of query parameters and HTTP return codes, thanks for implementing it this way Mubarak. The only thing that looks missing is a check for the not-modified case in TestRowResource and TestDelete.

        Show
        Andrew Purtell added a comment - Patch v7 still applies to trunk, but with some fuzz. Implementation looks fine, appropriate use of query parameters and HTTP return codes, thanks for implementing it this way Mubarak. The only thing that looks missing is a check for the not-modified case in TestRowResource and TestDelete.
        Hide
        Mubarak Seyed added a comment -

        Thanks Andy. Will fix your comments in test code and submit a patch. Thanks.

        Show
        Mubarak Seyed added a comment - Thanks Andy. Will fix your comments in test code and submit a patch. Thanks.
        Hide
        Andrew Purtell added a comment -

        While you are in there Mubarak please make sure that the tests also cover put and delete operations without '?check=...'.

        Show
        Andrew Purtell added a comment - While you are in there Mubarak please make sure that the tests also cover put and delete operations without '?check=...'.
        Hide
        Mubarak Seyed added a comment -

        Sure, will do Andy. Thanks.

        Show
        Mubarak Seyed added a comment - Sure, will do Andy. Thanks.
        Hide
        Jimmy Xiang added a comment -

        I enhanced Mubarak's patch a little bit and rebased it to the latest trunk branch.

        Unit test is green:

        mvn -PrunMediumTests -Dtest=Test*Resource clean test

        Show
        Jimmy Xiang added a comment - I enhanced Mubarak's patch a little bit and rebased it to the latest trunk branch. Unit test is green: mvn -PrunMediumTests -Dtest=Test*Resource clean test
        Hide
        Jimmy Xiang added a comment -

        The new review request is here: https://reviews.apache.org/r/5259/

        Show
        Jimmy Xiang added a comment - The new review request is here: https://reviews.apache.org/r/5259/
        Hide
        Mubarak Seyed added a comment -

        Thanks Jimmy for taking care of this JIRA.

        Show
        Mubarak Seyed added a comment - Thanks Jimmy for taking care of this JIRA.
        Hide
        stack added a comment -

        @Mubarak Do you like Jimmy's changes?

        Jimmy, should you do a define for 'put'? Should the compare lowercase first?

        Jimmy, there is no excuse for dup'ing code:

        +    if ("put".equals(check)) {
        +      return checkAndPut(model);
        +    } else if ("delete".equals(check)) {
        +      return checkAndDelete(model);
        +    } else {
        +      if (check != null && check.length() > 0) {
        +        LOG.warn("Unknown check value: " + check + ", ignored");
        +      }
        +      return update(model, false);
        +    }
        

        Else looks good to me Jimmy

        Show
        stack added a comment - @Mubarak Do you like Jimmy's changes? Jimmy, should you do a define for 'put'? Should the compare lowercase first? Jimmy, there is no excuse for dup'ing code: + if ( "put" .equals(check)) { + return checkAndPut(model); + } else if ( "delete" .equals(check)) { + return checkAndDelete(model); + } else { + if (check != null && check.length() > 0) { + LOG.warn( "Unknown check value: " + check + ", ignored" ); + } + return update(model, false ); + } Else looks good to me Jimmy
        Hide
        Hadoop QA added a comment -

        -1 overall. Here are the results of testing the latest attachment
        http://issues.apache.org/jira/secure/attachment/12530092/4720_trunk.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 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 cause Findbugs (version 1.3.9) to fail.

        +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/2033//testReport/
        Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/2033//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/12530092/4720_trunk.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 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 cause Findbugs (version 1.3.9) to fail. +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/2033//testReport/ Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/2033//console This message is automatically generated.
        Hide
        Jimmy Xiang added a comment -

        Addressed Stack's comments.

        @Stack, I moved the duplicated code to some shared place.
        I defined constants put and delete. I could not lowercase first
        since it can be null.

        Show
        Jimmy Xiang added a comment - Addressed Stack's comments. @Stack, I moved the duplicated code to some shared place. I defined constants put and delete. I could not lowercase first since it can be null.
        Hide
        stack added a comment -

        +1 on patch. Tests look good. Does it work for you Jimmy?

        Show
        stack added a comment - +1 on patch. Tests look good. Does it work for you Jimmy?
        Hide
        Hadoop QA added a comment -

        -1 overall. Here are the results of testing the latest attachment
        http://issues.apache.org/jira/secure/attachment/12530103/4720_trunk_v2.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 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 cause Findbugs (version 1.3.9) to fail.

        +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.security.access.TestZKPermissionsWatcher

        Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/2037//testReport/
        Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/2037//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/12530103/4720_trunk_v2.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 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 cause Findbugs (version 1.3.9) to fail. +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.security.access.TestZKPermissionsWatcher Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/2037//testReport/ Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/2037//console This message is automatically generated.
        Hide
        Jimmy Xiang added a comment -

        Logged more info for put. It's tested on a live cluster and checkAndPut, checkAndDelete, and regular check work for me.

        Show
        Jimmy Xiang added a comment - Logged more info for put. It's tested on a live cluster and checkAndPut, checkAndDelete, and regular check work for me.
        Hide
        Jimmy Xiang added a comment -

        The patch is good for 0.94 and 0.92 too.

        Show
        Jimmy Xiang added a comment - The patch is good for 0.94 and 0.92 too.
        Hide
        Hadoop QA added a comment -

        -1 overall. Here are the results of testing the latest attachment
        http://issues.apache.org/jira/secure/attachment/12530140/4720_trunk_v3.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 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 cause Findbugs (version 1.3.9) to fail.

        +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.TestSplitTransactionOnCluster

        Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/2044//testReport/
        Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/2044//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/12530140/4720_trunk_v3.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 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 cause Findbugs (version 1.3.9) to fail. +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.TestSplitTransactionOnCluster Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/2044//testReport/ Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/2044//console This message is automatically generated.
        Hide
        stack added a comment -

        Patch lgtm.

        Andrew? What you reckon?

        Show
        stack added a comment - Patch lgtm. Andrew? What you reckon?
        Hide
        Andrew Purtell added a comment - - edited

        +1 except for small debug logging nit that can be corrected on commit. See https://reviews.apache.org/r/5259/diff/3/?file=110632#file110632line294

        Show
        Andrew Purtell added a comment - - edited +1 except for small debug logging nit that can be corrected on commit. See https://reviews.apache.org/r/5259/diff/3/?file=110632#file110632line294
        Hide
        Jimmy Xiang added a comment -

        Fix the logging issue Andrew found.

        Thanks Stack, Andrew, and Ted for reviewing.
        Thanks Mubarak for the patch.

        Show
        Jimmy Xiang added a comment - Fix the logging issue Andrew found. Thanks Stack, Andrew, and Ted for reviewing. Thanks Mubarak for the patch.
        Hide
        Hadoop QA added a comment -

        -1 overall. Here are the results of testing the latest attachment
        http://issues.apache.org/jira/secure/attachment/12530230/4720_trunk_v3.1.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 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 cause Findbugs (version 1.3.9) to fail.

        +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.master.TestSplitLogManager
        org.apache.hadoop.hbase.master.TestLogsCleaner
        org.apache.hadoop.hbase.regionserver.TestServerCustomProtocol

        Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/2055//testReport/
        Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/2055//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/12530230/4720_trunk_v3.1.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 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 cause Findbugs (version 1.3.9) to fail. +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.master.TestSplitLogManager org.apache.hadoop.hbase.master.TestLogsCleaner org.apache.hadoop.hbase.regionserver.TestServerCustomProtocol Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/2055//testReport/ Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/2055//console This message is automatically generated.
        Hide
        stack added a comment -

        Retry just in case

        Show
        stack added a comment - Retry just in case
        Hide
        Hadoop QA added a comment -

        -1 overall. Here are the results of testing the latest attachment
        http://issues.apache.org/jira/secure/attachment/12530241/4720_trunk_v3.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 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 cause Findbugs (version 1.3.9) to fail.

        +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.master.TestSplitLogManager
        org.apache.hadoop.hbase.regionserver.TestSplitTransactionOnCluster

        Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/2057//testReport/
        Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/2057//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/12530241/4720_trunk_v3.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 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 cause Findbugs (version 1.3.9) to fail. +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.master.TestSplitLogManager org.apache.hadoop.hbase.regionserver.TestSplitTransactionOnCluster Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/2057//testReport/ Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/2057//console This message is automatically generated.
        Hide
        stack added a comment -

        Committed to 0.92, 0.94 and trunk. Thanks for the patch Jimmy and Mubarak.

        Show
        stack added a comment - Committed to 0.92, 0.94 and trunk. Thanks for the patch Jimmy and Mubarak.
        Hide
        Mubarak Seyed added a comment -

        Thanks Jimmy for the patch.

        Show
        Mubarak Seyed added a comment - Thanks Jimmy for the patch.
        Hide
        Hudson added a comment -

        Integrated in HBase-TRUNK #2956 (See https://builds.apache.org/job/HBase-TRUNK/2956/)
        HBASE-4720 Implement atomic update operations (checkAndPut, checkAndDelete) for REST client/server (Revision 1344398)

        Result = FAILURE
        stack :
        Files :

        • /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/rest/RowResource.java
        • /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/rest/TableResource.java
        • /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/rest/client/RemoteHTable.java
        • /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/rest/TestRowResource.java
        Show
        Hudson added a comment - Integrated in HBase-TRUNK #2956 (See https://builds.apache.org/job/HBase-TRUNK/2956/ ) HBASE-4720 Implement atomic update operations (checkAndPut, checkAndDelete) for REST client/server (Revision 1344398) Result = FAILURE stack : Files : /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/rest/RowResource.java /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/rest/TableResource.java /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/rest/client/RemoteHTable.java /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/rest/TestRowResource.java
        Hide
        Hudson added a comment -

        Integrated in HBase-0.94 #235 (See https://builds.apache.org/job/HBase-0.94/235/)
        HBASE-4720 Implement atomic update operations (checkAndPut, checkAndDelete) for REST client/server (Revision 1344399)

        Result = FAILURE
        stack :
        Files :

        • /hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/rest/RowResource.java
        • /hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/rest/TableResource.java
        • /hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/rest/client/RemoteHTable.java
        • /hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/rest/TestRowResource.java
        Show
        Hudson added a comment - Integrated in HBase-0.94 #235 (See https://builds.apache.org/job/HBase-0.94/235/ ) HBASE-4720 Implement atomic update operations (checkAndPut, checkAndDelete) for REST client/server (Revision 1344399) Result = FAILURE stack : Files : /hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/rest/RowResource.java /hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/rest/TableResource.java /hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/rest/client/RemoteHTable.java /hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/rest/TestRowResource.java
        Hide
        Hudson added a comment -

        Integrated in HBase-0.92 #434 (See https://builds.apache.org/job/HBase-0.92/434/)
        HBASE-4720 Implement atomic update operations (checkAndPut, checkAndDelete) for REST client/server (Revision 1344400)

        Result = FAILURE
        stack :
        Files :

        • /hbase/branches/0.92/CHANGES.txt
        • /hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/rest/RowResource.java
        • /hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/rest/TableResource.java
        • /hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/rest/client/RemoteHTable.java
        • /hbase/branches/0.92/src/test/java/org/apache/hadoop/hbase/rest/TestRowResource.java
        Show
        Hudson added a comment - Integrated in HBase-0.92 #434 (See https://builds.apache.org/job/HBase-0.92/434/ ) HBASE-4720 Implement atomic update operations (checkAndPut, checkAndDelete) for REST client/server (Revision 1344400) Result = FAILURE stack : Files : /hbase/branches/0.92/CHANGES.txt /hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/rest/RowResource.java /hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/rest/TableResource.java /hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/rest/client/RemoteHTable.java /hbase/branches/0.92/src/test/java/org/apache/hadoop/hbase/rest/TestRowResource.java
        Hide
        Hudson added a comment -

        Integrated in HBase-TRUNK-on-Hadoop-2.0.0 #33 (See https://builds.apache.org/job/HBase-TRUNK-on-Hadoop-2.0.0/33/)
        HBASE-4720 Implement atomic update operations (checkAndPut, checkAndDelete) for REST client/server (Revision 1344398)

        Result = FAILURE
        stack :
        Files :

        • /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/rest/RowResource.java
        • /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/rest/TableResource.java
        • /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/rest/client/RemoteHTable.java
        • /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/rest/TestRowResource.java
        Show
        Hudson added a comment - Integrated in HBase-TRUNK-on-Hadoop-2.0.0 #33 (See https://builds.apache.org/job/HBase-TRUNK-on-Hadoop-2.0.0/33/ ) HBASE-4720 Implement atomic update operations (checkAndPut, checkAndDelete) for REST client/server (Revision 1344398) Result = FAILURE stack : Files : /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/rest/RowResource.java /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/rest/TableResource.java /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/rest/client/RemoteHTable.java /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/rest/TestRowResource.java
        Hide
        Hudson added a comment -

        Integrated in HBase-0.94-security #33 (See https://builds.apache.org/job/HBase-0.94-security/33/)
        HBASE-4720 Implement atomic update operations (checkAndPut, checkAndDelete) for REST client/server (Revision 1344399)

        Result = FAILURE
        stack :
        Files :

        • /hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/rest/RowResource.java
        • /hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/rest/TableResource.java
        • /hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/rest/client/RemoteHTable.java
        • /hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/rest/TestRowResource.java
        Show
        Hudson added a comment - Integrated in HBase-0.94-security #33 (See https://builds.apache.org/job/HBase-0.94-security/33/ ) HBASE-4720 Implement atomic update operations (checkAndPut, checkAndDelete) for REST client/server (Revision 1344399) Result = FAILURE stack : Files : /hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/rest/RowResource.java /hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/rest/TableResource.java /hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/rest/client/RemoteHTable.java /hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/rest/TestRowResource.java
        Hide
        Hudson added a comment -

        Integrated in HBase-0.92-security #109 (See https://builds.apache.org/job/HBase-0.92-security/109/)
        HBASE-4720 Implement atomic update operations (checkAndPut, checkAndDelete) for REST client/server (Revision 1344400)

        Result = SUCCESS
        stack :
        Files :

        • /hbase/branches/0.92/CHANGES.txt
        • /hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/rest/RowResource.java
        • /hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/rest/TableResource.java
        • /hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/rest/client/RemoteHTable.java
        • /hbase/branches/0.92/src/test/java/org/apache/hadoop/hbase/rest/TestRowResource.java
        Show
        Hudson added a comment - Integrated in HBase-0.92-security #109 (See https://builds.apache.org/job/HBase-0.92-security/109/ ) HBASE-4720 Implement atomic update operations (checkAndPut, checkAndDelete) for REST client/server (Revision 1344400) Result = SUCCESS stack : Files : /hbase/branches/0.92/CHANGES.txt /hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/rest/RowResource.java /hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/rest/TableResource.java /hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/rest/client/RemoteHTable.java /hbase/branches/0.92/src/test/java/org/apache/hadoop/hbase/rest/TestRowResource.java

          People

          • Assignee:
            Mubarak Seyed
            Reporter:
            Daniel Lord
          • Votes:
            1 Vote for this issue
            Watchers:
            9 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development