HBase
  1. HBase
  2. HBASE-10358

Shell changes for setting consistency per request

    Details

    • Type: New Feature New Feature
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 2.0.0, 1.3.0, 1.4.0
    • Component/s: shell
    • Labels:
      None
    • Hadoop Flags:
      Reviewed

      Description

      We can add shell support to set consistency per request.

      1. Screen Shot 2016-04-21 at 3.09.52 PM.png
        169 kB
        Yi Liang
      2. Screen Shot 2016-05-05 at 10.38.27 AM.png
        78 kB
        Yi Liang
      3. shell_3.patch
        3 kB
        Yi Liang
      4. shell.patch
        4 kB
        Yi Liang
      5. shell4.patch
        4 kB
        Yi Liang

        Activity

        Hide
        Enis Soztutar added a comment -

        HBASE-10354 already added support for setting Consistency level for gets and scans from Shell.

        get 't1','r6', {CONSISTENCY => "TIMELINE"}
        

        and HBASE-10348 added support for creating a table with region replication:

        create 't1', 'f1', {REGION_REPLICATION => 2}
        

        In this issue, I think we can just add support for displaying whether the incoming results are stale or not from shell.

        Show
        Enis Soztutar added a comment - HBASE-10354 already added support for setting Consistency level for gets and scans from Shell. get 't1','r6', {CONSISTENCY => "TIMELINE" } and HBASE-10348 added support for creating a table with region replication: create 't1', 'f1', {REGION_REPLICATION => 2} In this issue, I think we can just add support for displaying whether the incoming results are stale or not from shell.
        Hide
        Yi Liang added a comment -

        I attached a screenshot of get command on shell displaying whether the incoming results are stale or not.
        I have several questions and ideas about this jira
        (1) how to show the stale information, where to show the stale information. ??
        (2) I think we need to show the stale info for both get command and scan command
        (3) user need to specify whether to show stale info in get/scan command, the default had better be not showing stale info.

        Show
        Yi Liang added a comment - I attached a screenshot of get command on shell displaying whether the incoming results are stale or not. I have several questions and ideas about this jira (1) how to show the stale information, where to show the stale information. ?? (2) I think we need to show the stale info for both get command and scan command (3) user need to specify whether to show stale info in get/scan command, the default had better be not showing stale info.
        Hide
        Enis Soztutar added a comment -

        Thanks for picking this up. Feel free to assign the jira to yourself if you have a patch.

        (1) how to show the stale information, where to show the stale information. ??

        Rather than showing the info at the beginning as in the attach screenshot, it should be at the end I think. Something like:

        1 row(s) in 0.2200 seconds, possible stale results.  
        

        (2) I think we need to show the stale info for both get command and scan command

        yes.

        (3) user need to specify whether to show stale info in get/scan command, the default had better be not showing stale info.

        Only have a notification if results are stale, otherwise do not show anything.

        Show
        Enis Soztutar added a comment - Thanks for picking this up. Feel free to assign the jira to yourself if you have a patch. (1) how to show the stale information, where to show the stale information. ?? Rather than showing the info at the beginning as in the attach screenshot, it should be at the end I think. Something like: 1 row(s) in 0.2200 seconds, possible stale results. (2) I think we need to show the stale info for both get command and scan command yes. (3) user need to specify whether to show stale info in get/scan command, the default had better be not showing stale info. Only have a notification if results are stale, otherwise do not show anything.
        Hide
        Yi Liang added a comment -

        Hi Enis,
        I have one problem about the shell command of concurrency and region replication, hope you can give me some help. when we use command below:
        hbase> get 't1', 'r1',

        {CONSISTENCY => 'TIMELINE', REGION_REPLICA_ID => 2}

        .
        (assume: 't1', {TABLE_ATTRIBUTES =>

        {REGION_REPLICATION => '3'}

        ,

        {NAME => 'f1'}

        and REPLICA_ID=2 is a secondary region server)
        for this command, the table will send this get only to this secondary region server and this secondary region server will handle this get and send back result to client??
        I just want to know is my understanding about this command correct. Thanks

        Show
        Yi Liang added a comment - Hi Enis, I have one problem about the shell command of concurrency and region replication, hope you can give me some help. when we use command below: hbase> get 't1', 'r1', {CONSISTENCY => 'TIMELINE', REGION_REPLICA_ID => 2} . (assume: 't1', {TABLE_ATTRIBUTES => {REGION_REPLICATION => '3'} , {NAME => 'f1'} and REPLICA_ID=2 is a secondary region server) for this command, the table will send this get only to this secondary region server and this secondary region server will handle this get and send back result to client?? I just want to know is my understanding about this command correct. Thanks
        Hide
        Enis Soztutar added a comment -

        for this command, the table will send this get only to this secondary region server and this secondary region server will handle this get and send back result to client??

        That is true.

        Show
        Enis Soztutar added a comment - for this command, the table will send this get only to this secondary region server and this secondary region server will handle this get and send back result to client?? That is true.
        Hide
        Yi Liang added a comment -

        hi Enis,
        for the scan command, do you think we need to print stale info for every row if it is stale, like
        ROW COLUMN+CELL
        1 column=f1:c1, timestamp=1462301241126, value=200
        2 column=f1:c1, timestamp=1462308227738, value=100 (possible stale results)
        3 column=f1:c1, timestamp=1462308227738, value=100 (possible stale results)
        2 row(s) in 0.2730 seconds

        or we just print there might be stale rows in this scan like
        1 column=f1:c1, timestamp=1462301241126, value=200
        2 column=f1:c1, timestamp=1462308227738, value=100
        3 column=f1:c1, timestamp=1462308227738, value=100
        2 row(s) in 0.2730 seconds (possible stale results)

        Which one you think is better; for me the first one might be better, cause it is more accurate; but if we put stale for each row, it seems too much things to print and for rows in same region, their stale info are same, and do not need to print every row stale info.

        Show
        Yi Liang added a comment - hi Enis, for the scan command, do you think we need to print stale info for every row if it is stale, like ROW COLUMN+CELL 1 column=f1:c1, timestamp=1462301241126, value=200 2 column=f1:c1, timestamp=1462308227738, value=100 (possible stale results) 3 column=f1:c1, timestamp=1462308227738, value=100 (possible stale results) 2 row(s) in 0.2730 seconds or we just print there might be stale rows in this scan like 1 column=f1:c1, timestamp=1462301241126, value=200 2 column=f1:c1, timestamp=1462308227738, value=100 3 column=f1:c1, timestamp=1462308227738, value=100 2 row(s) in 0.2730 seconds (possible stale results) Which one you think is better; for me the first one might be better, cause it is more accurate; but if we put stale for each row, it seems too much things to print and for rows in same region, their stale info are same, and do not need to print every row stale info.
        Hide
        Enis Soztutar added a comment -

        Which one you think is better; for me the first one might be better, cause it is more accurate; but if we put stale for each row, it seems too much things to print and for rows in same region, their stale info are same, and do not need to print every row stale info.

        Agreed. Let's do the latter.

        Show
        Enis Soztutar added a comment - Which one you think is better; for me the first one might be better, cause it is more accurate; but if we put stale for each row, it seems too much things to print and for rows in same region, their stale info are same, and do not need to print every row stale info. Agreed. Let's do the latter.
        Hide
        Yi Liang added a comment -

        patch is available, please take a look. Thanks

        Show
        Yi Liang added a comment - patch is available, please take a look. Thanks
        Hide
        Hadoop QA added a comment -
        -1 overall



        Vote Subsystem Runtime Comment
        0 rubocop 0m 1s rubocop was not available.
        0 ruby-lint 0m 1s Ruby-lint was not available.
        +1 @author 0m 0s The patch does not contain any @author tags.
        -1 test4tests 0m 0s The patch doesn't appear to include any new or modified tests. Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch.
        +1 mvninstall 3m 16s master passed
        +1 mvneclipse 0m 15s master passed
        +1 javadoc 0m 17s master passed with JDK v1.8.0
        +1 javadoc 0m 8s master passed with JDK v1.7.0_79
        +1 mvninstall 0m 15s the patch passed
        +1 mvneclipse 0m 14s the patch passed
        +1 whitespace 0m 0s Patch has no whitespace issues.
        +1 hadoopcheck 8m 48s Patch does not cause any errors with Hadoop 2.4.1 2.5.2 2.6.0.
        +1 javadoc 0m 17s the patch passed with JDK v1.8.0
        +1 javadoc 0m 9s the patch passed with JDK v1.7.0_79
        +1 unit 0m 17s hbase-shell in the patch passed.
        +1 asflicense 0m 8s Patch does not generate ASF License warnings.
        14m 22s



        Subsystem Report/Notes
        JIRA Patch URL https://issues.apache.org/jira/secure/attachment/12802466/shell.patch
        JIRA Issue HBASE-10358
        Optional Tests asflicense javac javadoc unit rubocop ruby_lint
        uname Linux asf900.gq1.ygridcore.net 3.13.0-36-lowlatency #63-Ubuntu SMP PREEMPT Wed Sep 3 21:56:12 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
        Build tool maven
        Personality /home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/test_framework/yetus-0.2.1/lib/precommit/personality/hbase.sh
        git revision master / efcf94d
        Default Java 1.7.0_79
        Multi-JDK versions /home/jenkins/tools/java/jdk1.8.0:1.8.0 /usr/local/jenkins/java/jdk1.7.0_79:1.7.0_79
        Test Results https://builds.apache.org/job/PreCommit-HBASE-Build/1778/testReport/
        modules C: hbase-shell U: hbase-shell
        Console output https://builds.apache.org/job/PreCommit-HBASE-Build/1778/console
        Powered by Apache Yetus 0.2.1 http://yetus.apache.org

        This message was automatically generated.

        Show
        Hadoop QA added a comment - -1 overall Vote Subsystem Runtime Comment 0 rubocop 0m 1s rubocop was not available. 0 ruby-lint 0m 1s Ruby-lint was not available. +1 @author 0m 0s The patch does not contain any @author tags. -1 test4tests 0m 0s The patch doesn't appear to include any new or modified tests. Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch. +1 mvninstall 3m 16s master passed +1 mvneclipse 0m 15s master passed +1 javadoc 0m 17s master passed with JDK v1.8.0 +1 javadoc 0m 8s master passed with JDK v1.7.0_79 +1 mvninstall 0m 15s the patch passed +1 mvneclipse 0m 14s the patch passed +1 whitespace 0m 0s Patch has no whitespace issues. +1 hadoopcheck 8m 48s Patch does not cause any errors with Hadoop 2.4.1 2.5.2 2.6.0. +1 javadoc 0m 17s the patch passed with JDK v1.8.0 +1 javadoc 0m 9s the patch passed with JDK v1.7.0_79 +1 unit 0m 17s hbase-shell in the patch passed. +1 asflicense 0m 8s Patch does not generate ASF License warnings. 14m 22s Subsystem Report/Notes JIRA Patch URL https://issues.apache.org/jira/secure/attachment/12802466/shell.patch JIRA Issue HBASE-10358 Optional Tests asflicense javac javadoc unit rubocop ruby_lint uname Linux asf900.gq1.ygridcore.net 3.13.0-36-lowlatency #63-Ubuntu SMP PREEMPT Wed Sep 3 21:56:12 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux Build tool maven Personality /home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/test_framework/yetus-0.2.1/lib/precommit/personality/hbase.sh git revision master / efcf94d Default Java 1.7.0_79 Multi-JDK versions /home/jenkins/tools/java/jdk1.8.0:1.8.0 /usr/local/jenkins/java/jdk1.7.0_79:1.7.0_79 Test Results https://builds.apache.org/job/PreCommit-HBASE-Build/1778/testReport/ modules C: hbase-shell U: hbase-shell Console output https://builds.apache.org/job/PreCommit-HBASE-Build/1778/console Powered by Apache Yetus 0.2.1 http://yetus.apache.org This message was automatically generated.
        Hide
        Enis Soztutar added a comment -

        We are doing array here, because we want to pass by reference, rather than pass-by-value? Seems weird. Is there a cleaner way?

        +        stale_argu = Array.new(1, false)
        +        stale = false
        +
                 scan = table._hash_to_scan(args)
                 #actually do the scanning
        -        count = table._scan_internal(args, scan) do |row, cells|
        +        count = table._scan_internal(args, scan, stale_argu) do |row, cells|
        
        Show
        Enis Soztutar added a comment - We are doing array here, because we want to pass by reference, rather than pass-by-value? Seems weird. Is there a cleaner way? + stale_argu = Array. new (1, false ) + stale = false + scan = table._hash_to_scan(args) #actually do the scanning - count = table._scan_internal(args, scan) do |row, cells| + count = table._scan_internal(args, scan, stale_argu) do |row, cells|
        Hide
        Yi Liang added a comment -

        since all the method like table._scan_internal and _get_internal are really Modular, if we want to get stale information from get or scan, we need to change a lot of source code: add some new method and change some existing method in original code. So here I pass a array with size 1 to the existing method(_scan_internal and _get_internal), and after the array parameter pass into those method and get stale information, then we can show stale info to check whether the array[0] is false or true. To use this stale_argu after pass into those method, I have to pass the stale_argu by a reference.
        This is my idea, pass a parameter into method to get stale info, and check this parameter value to decide whether show stale or not. To use this parameter after pass it into method, I use a array to pass by reference(kind of, because everything in ruby pass by value, like java).

        or you have any good idea, I can have a try.

        Show
        Yi Liang added a comment - since all the method like table._scan_internal and _get_internal are really Modular, if we want to get stale information from get or scan, we need to change a lot of source code: add some new method and change some existing method in original code. So here I pass a array with size 1 to the existing method(_scan_internal and _get_internal), and after the array parameter pass into those method and get stale information, then we can show stale info to check whether the array [0] is false or true. To use this stale_argu after pass into those method, I have to pass the stale_argu by a reference. This is my idea, pass a parameter into method to get stale info, and check this parameter value to decide whether show stale or not. To use this parameter after pass it into method, I use a array to pass by reference(kind of, because everything in ruby pass by value, like java). or you have any good idea, I can have a try.
        Hide
        Enis Soztutar added a comment -

        Change _get_internal and _scan_internal to return a pair of <count, is_stale>?

        Show
        Enis Soztutar added a comment - Change _get_internal and _scan_internal to return a pair of <count, is_stale> ?
        Hide
        Yi Liang added a comment -

        Hi Enis,
        Thanks for your advice, this time the code is more cleaner. Patch is attached.
        For get_internal is used to return nil, now return is_stale
        For _scan_internal is used to return count, now return <count, is_stale>

        Show
        Yi Liang added a comment - Hi Enis, Thanks for your advice, this time the code is more cleaner. Patch is attached. For get_internal is used to return nil, now return is_stale For _scan_internal is used to return count, now return <count, is_stale>
        Hide
        Hadoop QA added a comment -
        -1 overall



        Vote Subsystem Runtime Comment
        0 rubocop 0m 1s rubocop was not available.
        0 ruby-lint 0m 1s Ruby-lint was not available.
        +1 @author 0m 0s The patch does not contain any @author tags.
        -1 test4tests 0m 0s The patch doesn't appear to include any new or modified tests. Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch.
        +1 mvninstall 3m 7s master passed
        +1 mvneclipse 0m 14s master passed
        +1 javadoc 0m 17s master passed with JDK v1.8.0
        +1 javadoc 0m 11s master passed with JDK v1.7.0_79
        +1 mvninstall 0m 14s the patch passed
        +1 mvneclipse 0m 14s the patch passed
        +1 whitespace 0m 0s Patch has no whitespace issues.
        +1 hadoopcheck 8m 44s Patch does not cause any errors with Hadoop 2.4.1 2.5.2 2.6.0.
        +1 javadoc 0m 16s the patch passed with JDK v1.8.0
        +1 javadoc 0m 8s the patch passed with JDK v1.7.0_79
        +1 unit 0m 20s hbase-shell in the patch passed.
        +1 asflicense 0m 8s Patch does not generate ASF License warnings.
        14m 8s



        Subsystem Report/Notes
        JIRA Patch URL https://issues.apache.org/jira/secure/attachment/12802720/shell_2.patch
        JIRA Issue HBASE-10358
        Optional Tests asflicense javac javadoc unit rubocop ruby_lint
        uname Linux asf901.gq1.ygridcore.net 3.13.0-36-lowlatency #63-Ubuntu SMP PREEMPT Wed Sep 3 21:56:12 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
        Build tool maven
        Personality /home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/test_framework/yetus-0.2.1/lib/precommit/personality/hbase.sh
        git revision master / 86ca09e
        Default Java 1.7.0_79
        Multi-JDK versions /home/jenkins/tools/java/jdk1.8.0:1.8.0 /usr/local/jenkins/java/jdk1.7.0_79:1.7.0_79
        Test Results https://builds.apache.org/job/PreCommit-HBASE-Build/1803/testReport/
        modules C: hbase-shell U: hbase-shell
        Console output https://builds.apache.org/job/PreCommit-HBASE-Build/1803/console
        Powered by Apache Yetus 0.2.1 http://yetus.apache.org

        This message was automatically generated.

        Show
        Hadoop QA added a comment - -1 overall Vote Subsystem Runtime Comment 0 rubocop 0m 1s rubocop was not available. 0 ruby-lint 0m 1s Ruby-lint was not available. +1 @author 0m 0s The patch does not contain any @author tags. -1 test4tests 0m 0s The patch doesn't appear to include any new or modified tests. Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch. +1 mvninstall 3m 7s master passed +1 mvneclipse 0m 14s master passed +1 javadoc 0m 17s master passed with JDK v1.8.0 +1 javadoc 0m 11s master passed with JDK v1.7.0_79 +1 mvninstall 0m 14s the patch passed +1 mvneclipse 0m 14s the patch passed +1 whitespace 0m 0s Patch has no whitespace issues. +1 hadoopcheck 8m 44s Patch does not cause any errors with Hadoop 2.4.1 2.5.2 2.6.0. +1 javadoc 0m 16s the patch passed with JDK v1.8.0 +1 javadoc 0m 8s the patch passed with JDK v1.7.0_79 +1 unit 0m 20s hbase-shell in the patch passed. +1 asflicense 0m 8s Patch does not generate ASF License warnings. 14m 8s Subsystem Report/Notes JIRA Patch URL https://issues.apache.org/jira/secure/attachment/12802720/shell_2.patch JIRA Issue HBASE-10358 Optional Tests asflicense javac javadoc unit rubocop ruby_lint uname Linux asf901.gq1.ygridcore.net 3.13.0-36-lowlatency #63-Ubuntu SMP PREEMPT Wed Sep 3 21:56:12 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux Build tool maven Personality /home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/test_framework/yetus-0.2.1/lib/precommit/personality/hbase.sh git revision master / 86ca09e Default Java 1.7.0_79 Multi-JDK versions /home/jenkins/tools/java/jdk1.8.0:1.8.0 /usr/local/jenkins/java/jdk1.7.0_79:1.7.0_79 Test Results https://builds.apache.org/job/PreCommit-HBASE-Build/1803/testReport/ modules C: hbase-shell U: hbase-shell Console output https://builds.apache.org/job/PreCommit-HBASE-Build/1803/console Powered by Apache Yetus 0.2.1 http://yetus.apache.org This message was automatically generated.
        Hide
        Yi Liang added a comment -

        Hi Enis,
        Could you take a look at the patch, and help me to review it. Thanks

        Show
        Yi Liang added a comment - Hi Enis, Could you take a look at the patch, and help me to review it. Thanks
        Hide
        Hadoop QA added a comment -
        -1 overall



        Vote Subsystem Runtime Comment
        0 rubocop 0m 1s rubocop was not available.
        0 ruby-lint 0m 1s Ruby-lint was not available.
        +1 @author 0m 0s The patch does not contain any @author tags.
        -1 test4tests 0m 0s The patch doesn't appear to include any new or modified tests. Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch.
        +1 mvninstall 3m 16s master passed
        +1 mvneclipse 0m 16s master passed
        +1 javadoc 0m 17s master passed with JDK v1.8.0
        +1 javadoc 0m 9s master passed with JDK v1.7.0_79
        +1 mvninstall 0m 14s the patch passed
        +1 mvneclipse 0m 14s the patch passed
        +1 whitespace 0m 0s Patch has no whitespace issues.
        +1 hadoopcheck 8m 35s Patch does not cause any errors with Hadoop 2.4.1 2.5.2 2.6.0.
        +1 javadoc 0m 20s the patch passed with JDK v1.8.0
        +1 javadoc 0m 11s the patch passed with JDK v1.7.0_79
        +1 unit 0m 17s hbase-shell in the patch passed.
        +1 asflicense 0m 9s Patch does not generate ASF License warnings.
        14m 10s



        Subsystem Report/Notes
        JIRA Patch URL https://issues.apache.org/jira/secure/attachment/12803328/shell_3.patch
        JIRA Issue HBASE-10358
        Optional Tests asflicense javac javadoc unit rubocop ruby_lint
        uname Linux pietas.apache.org 3.13.0-36-lowlatency #63-Ubuntu SMP PREEMPT Wed Sep 3 21:56:12 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
        Build tool maven
        Personality /home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/test_framework/yetus-0.2.1/lib/precommit/personality/hbase.sh
        git revision master / a11091c
        Default Java 1.7.0_79
        Multi-JDK versions /home/jenkins/tools/java/jdk1.8.0:1.8.0 /usr/local/jenkins/java/jdk1.7.0_79:1.7.0_79
        Test Results https://builds.apache.org/job/PreCommit-HBASE-Build/1857/testReport/
        modules C: hbase-shell U: hbase-shell
        Console output https://builds.apache.org/job/PreCommit-HBASE-Build/1857/console
        Powered by Apache Yetus 0.2.1 http://yetus.apache.org

        This message was automatically generated.

        Show
        Hadoop QA added a comment - -1 overall Vote Subsystem Runtime Comment 0 rubocop 0m 1s rubocop was not available. 0 ruby-lint 0m 1s Ruby-lint was not available. +1 @author 0m 0s The patch does not contain any @author tags. -1 test4tests 0m 0s The patch doesn't appear to include any new or modified tests. Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch. +1 mvninstall 3m 16s master passed +1 mvneclipse 0m 16s master passed +1 javadoc 0m 17s master passed with JDK v1.8.0 +1 javadoc 0m 9s master passed with JDK v1.7.0_79 +1 mvninstall 0m 14s the patch passed +1 mvneclipse 0m 14s the patch passed +1 whitespace 0m 0s Patch has no whitespace issues. +1 hadoopcheck 8m 35s Patch does not cause any errors with Hadoop 2.4.1 2.5.2 2.6.0. +1 javadoc 0m 20s the patch passed with JDK v1.8.0 +1 javadoc 0m 11s the patch passed with JDK v1.7.0_79 +1 unit 0m 17s hbase-shell in the patch passed. +1 asflicense 0m 9s Patch does not generate ASF License warnings. 14m 10s Subsystem Report/Notes JIRA Patch URL https://issues.apache.org/jira/secure/attachment/12803328/shell_3.patch JIRA Issue HBASE-10358 Optional Tests asflicense javac javadoc unit rubocop ruby_lint uname Linux pietas.apache.org 3.13.0-36-lowlatency #63-Ubuntu SMP PREEMPT Wed Sep 3 21:56:12 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux Build tool maven Personality /home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/test_framework/yetus-0.2.1/lib/precommit/personality/hbase.sh git revision master / a11091c Default Java 1.7.0_79 Multi-JDK versions /home/jenkins/tools/java/jdk1.8.0:1.8.0 /usr/local/jenkins/java/jdk1.7.0_79:1.7.0_79 Test Results https://builds.apache.org/job/PreCommit-HBASE-Build/1857/testReport/ modules C: hbase-shell U: hbase-shell Console output https://builds.apache.org/job/PreCommit-HBASE-Build/1857/console Powered by Apache Yetus 0.2.1 http://yetus.apache.org This message was automatically generated.
        Hide
        Jerry He added a comment -

        Looks good to me.
        +1

        Show
        Jerry He added a comment - Looks good to me. +1
        Hide
        Jerry He added a comment -

        Hi, Enis Soztutar

        Are you ok with the v3 patch? It follows your suggestion.

        Show
        Jerry He added a comment - Hi, Enis Soztutar Are you ok with the v3 patch? It follows your suggestion.
        Hide
        Enis Soztutar added a comment -

        For the scan, is_stale should be computed by the logic "if any row is stale". The following logic only looks at the last row:

               while iter.hasNext
                 row = iter.next
                 key = org.apache.hadoop.hbase.util.Bytes::toStringBinary(row.getRow)
        +        is_stale = row.isStale
        

        This should be something like is_stale |= row.isStale.

        Instead of adding stale method to formatter, I think we should add isStale argument to the footer method. Printing footer should not be a two-step operation.

        Show
        Enis Soztutar added a comment - For the scan, is_stale should be computed by the logic "if any row is stale". The following logic only looks at the last row: while iter.hasNext row = iter.next key = org.apache.hadoop.hbase.util.Bytes::toStringBinary(row.getRow) + is_stale = row.isStale This should be something like is_stale |= row.isStale . Instead of adding stale method to formatter, I think we should add isStale argument to the footer method. Printing footer should not be a two-step operation.
        Hide
        Yi Liang added a comment -

        Attached new patch, this time both get_internal and scan_internal return [count, is_stale], and put is_stale as a argument of footer method.

        Show
        Yi Liang added a comment - Attached new patch, this time both get_internal and scan_internal return [count, is_stale] , and put is_stale as a argument of footer method.
        Hide
        Hadoop QA added a comment -
        -1 overall



        Vote Subsystem Runtime Comment
        0 rubocop 0m 0s rubocop was not available.
        0 ruby-lint 0m 0s Ruby-lint was not available.
        +1 @author 0m 0s The patch does not contain any @author tags.
        -1 test4tests 0m 0s The patch doesn't appear to include any new or modified tests. Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch.
        +1 mvninstall 2m 49s master passed
        +1 mvneclipse 0m 15s master passed
        +1 javadoc 0m 17s master passed with JDK v1.8.0
        +1 javadoc 0m 8s master passed with JDK v1.7.0_79
        +1 mvninstall 0m 14s the patch passed
        +1 mvneclipse 0m 14s the patch passed
        +1 whitespace 0m 0s Patch has no whitespace issues.
        +1 hadoopcheck 8m 31s Patch does not cause any errors with Hadoop 2.4.1 2.5.2 2.6.0.
        +1 javadoc 0m 17s the patch passed with JDK v1.8.0
        +1 javadoc 0m 8s the patch passed with JDK v1.7.0_79
        +1 unit 0m 15s hbase-shell in the patch passed.
        +1 asflicense 0m 7s Patch does not generate ASF License warnings.
        13m 27s



        Subsystem Report/Notes
        JIRA Patch URL https://issues.apache.org/jira/secure/attachment/12806432/shell4.patch
        JIRA Issue HBASE-10358
        Optional Tests asflicense javac javadoc unit rubocop ruby_lint
        uname Linux asf907.gq1.ygridcore.net 3.13.0-36-lowlatency #63-Ubuntu SMP PREEMPT Wed Sep 3 21:56:12 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
        Build tool maven
        Personality /home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/test_framework/yetus-0.2.1/lib/precommit/personality/hbase.sh
        git revision master / 3ffaa11
        Default Java 1.7.0_79
        Multi-JDK versions /home/jenkins/tools/java/jdk1.8.0:1.8.0 /usr/local/jenkins/java/jdk1.7.0_79:1.7.0_79
        Test Results https://builds.apache.org/job/PreCommit-HBASE-Build/2022/testReport/
        modules C: hbase-shell U: hbase-shell
        Console output https://builds.apache.org/job/PreCommit-HBASE-Build/2022/console
        Powered by Apache Yetus 0.2.1 http://yetus.apache.org

        This message was automatically generated.

        Show
        Hadoop QA added a comment - -1 overall Vote Subsystem Runtime Comment 0 rubocop 0m 0s rubocop was not available. 0 ruby-lint 0m 0s Ruby-lint was not available. +1 @author 0m 0s The patch does not contain any @author tags. -1 test4tests 0m 0s The patch doesn't appear to include any new or modified tests. Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch. +1 mvninstall 2m 49s master passed +1 mvneclipse 0m 15s master passed +1 javadoc 0m 17s master passed with JDK v1.8.0 +1 javadoc 0m 8s master passed with JDK v1.7.0_79 +1 mvninstall 0m 14s the patch passed +1 mvneclipse 0m 14s the patch passed +1 whitespace 0m 0s Patch has no whitespace issues. +1 hadoopcheck 8m 31s Patch does not cause any errors with Hadoop 2.4.1 2.5.2 2.6.0. +1 javadoc 0m 17s the patch passed with JDK v1.8.0 +1 javadoc 0m 8s the patch passed with JDK v1.7.0_79 +1 unit 0m 15s hbase-shell in the patch passed. +1 asflicense 0m 7s Patch does not generate ASF License warnings. 13m 27s Subsystem Report/Notes JIRA Patch URL https://issues.apache.org/jira/secure/attachment/12806432/shell4.patch JIRA Issue HBASE-10358 Optional Tests asflicense javac javadoc unit rubocop ruby_lint uname Linux asf907.gq1.ygridcore.net 3.13.0-36-lowlatency #63-Ubuntu SMP PREEMPT Wed Sep 3 21:56:12 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux Build tool maven Personality /home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/test_framework/yetus-0.2.1/lib/precommit/personality/hbase.sh git revision master / 3ffaa11 Default Java 1.7.0_79 Multi-JDK versions /home/jenkins/tools/java/jdk1.8.0:1.8.0 /usr/local/jenkins/java/jdk1.7.0_79:1.7.0_79 Test Results https://builds.apache.org/job/PreCommit-HBASE-Build/2022/testReport/ modules C: hbase-shell U: hbase-shell Console output https://builds.apache.org/job/PreCommit-HBASE-Build/2022/console Powered by Apache Yetus 0.2.1 http://yetus.apache.org This message was automatically generated.
        Hide
        Enis Soztutar added a comment -

        Committed to 1.3+. Thanks Yi Liang for the patch!

        Show
        Enis Soztutar added a comment - Committed to 1.3+. Thanks Yi Liang for the patch!
        Hide
        Hudson added a comment -

        FAILURE: Integrated in HBase-1.3 #717 (See https://builds.apache.org/job/HBase-1.3/717/)
        HBASE-10358 Shell changes for setting consistency per request (yi liang) (enis: rev 25e21ee196d18fa0490d386ed21eeea7a9ecfeb0)

        • hbase-shell/src/main/ruby/shell/commands/get.rb
        • hbase-shell/src/main/ruby/shell/commands/scan.rb
        • hbase-shell/src/main/ruby/shell/formatter.rb
        • hbase-shell/src/main/ruby/hbase/table.rb
        Show
        Hudson added a comment - FAILURE: Integrated in HBase-1.3 #717 (See https://builds.apache.org/job/HBase-1.3/717/ ) HBASE-10358 Shell changes for setting consistency per request (yi liang) (enis: rev 25e21ee196d18fa0490d386ed21eeea7a9ecfeb0) hbase-shell/src/main/ruby/shell/commands/get.rb hbase-shell/src/main/ruby/shell/commands/scan.rb hbase-shell/src/main/ruby/shell/formatter.rb hbase-shell/src/main/ruby/hbase/table.rb
        Hide
        Hudson added a comment -

        SUCCESS: Integrated in HBase-1.3-IT #682 (See https://builds.apache.org/job/HBase-1.3-IT/682/)
        HBASE-10358 Shell changes for setting consistency per request (yi liang) (enis: rev 25e21ee196d18fa0490d386ed21eeea7a9ecfeb0)

        • hbase-shell/src/main/ruby/shell/commands/get.rb
        • hbase-shell/src/main/ruby/hbase/table.rb
        • hbase-shell/src/main/ruby/shell/commands/scan.rb
        • hbase-shell/src/main/ruby/shell/formatter.rb
        Show
        Hudson added a comment - SUCCESS: Integrated in HBase-1.3-IT #682 (See https://builds.apache.org/job/HBase-1.3-IT/682/ ) HBASE-10358 Shell changes for setting consistency per request (yi liang) (enis: rev 25e21ee196d18fa0490d386ed21eeea7a9ecfeb0) hbase-shell/src/main/ruby/shell/commands/get.rb hbase-shell/src/main/ruby/hbase/table.rb hbase-shell/src/main/ruby/shell/commands/scan.rb hbase-shell/src/main/ruby/shell/formatter.rb
        Hide
        Hudson added a comment -

        FAILURE: Integrated in HBase-Trunk_matrix #951 (See https://builds.apache.org/job/HBase-Trunk_matrix/951/)
        HBASE-10358 Shell changes for setting consistency per request (yi liang) (enis: rev b89d88a19306f25e8aca57ea1b01b725ffe861e9)

        • hbase-shell/src/main/ruby/shell/formatter.rb
        • hbase-shell/src/main/ruby/shell/commands/scan.rb
        • hbase-shell/src/main/ruby/shell/commands/get.rb
        • hbase-shell/src/main/ruby/hbase/table.rb
        Show
        Hudson added a comment - FAILURE: Integrated in HBase-Trunk_matrix #951 (See https://builds.apache.org/job/HBase-Trunk_matrix/951/ ) HBASE-10358 Shell changes for setting consistency per request (yi liang) (enis: rev b89d88a19306f25e8aca57ea1b01b725ffe861e9) hbase-shell/src/main/ruby/shell/formatter.rb hbase-shell/src/main/ruby/shell/commands/scan.rb hbase-shell/src/main/ruby/shell/commands/get.rb hbase-shell/src/main/ruby/hbase/table.rb
        Hide
        Hudson added a comment -

        FAILURE: Integrated in HBase-1.4 #181 (See https://builds.apache.org/job/HBase-1.4/181/)
        HBASE-10358 Shell changes for setting consistency per request (yi liang) (enis: rev 70c3a7854f148acb1a04c6d873884c6b2f703cb9)

        • hbase-shell/src/main/ruby/shell/commands/scan.rb
        • hbase-shell/src/main/ruby/shell/commands/get.rb
        • hbase-shell/src/main/ruby/shell/formatter.rb
        • hbase-shell/src/main/ruby/hbase/table.rb
        Show
        Hudson added a comment - FAILURE: Integrated in HBase-1.4 #181 (See https://builds.apache.org/job/HBase-1.4/181/ ) HBASE-10358 Shell changes for setting consistency per request (yi liang) (enis: rev 70c3a7854f148acb1a04c6d873884c6b2f703cb9) hbase-shell/src/main/ruby/shell/commands/scan.rb hbase-shell/src/main/ruby/shell/commands/get.rb hbase-shell/src/main/ruby/shell/formatter.rb hbase-shell/src/main/ruby/hbase/table.rb

          People

          • Assignee:
            Yi Liang
            Reporter:
            Enis Soztutar
          • Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development