[ https://issues.apache.org/jira/browse/HBASE-20327?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16436398#comment-16436398 ]
Hadoop QA commented on HBASE-20327: ----------------------------------- | (x) *{color:red}-1 overall{color}* | \\ \\ || Vote || Subsystem || Runtime || Comment || | {color:blue}0{color} | {color:blue} reexec {color} | {color:blue} 0m 15s{color} | {color:blue} Docker mode activated. {color} | || || || || {color:brown} Prechecks {color} || | {color:green}+1{color} | {color:green} @author {color} | {color:green} 0m 0s{color} | {color:green} The patch does not contain any @author tags. {color} | | {color:green}+1{color} | {color:green} test4tests {color} | {color:green} 0m 0s{color} | {color:green} The patch appears to include 1 new or modified test files. {color} | || || || || {color:brown} master Compile Tests {color} || | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 4m 18s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 10s{color} | {color:green} master passed {color} | || || || || {color:brown} Patch Compile Tests {color} || | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 4m 11s{color} | {color:green} the patch passed {color} | | {color:red}-1{color} | {color:red} rubocop {color} | {color:red} 0m 9s{color} | {color:red} The patch generated 1 new + 403 unchanged - 15 fixed = 404 total (was 418) {color} | | {color:red}-1{color} | {color:red} ruby-lint {color} | {color:red} 0m 10s{color} | {color:red} The patch generated 6 new + 466 unchanged - 1 fixed = 472 total (was 467) {color} | | {color:green}+1{color} | {color:green} whitespace {color} | {color:green} 0m 0s{color} | {color:green} The patch has no whitespace issues. {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 10s{color} | {color:green} the patch passed {color} | || || || || {color:brown} Other Tests {color} || | {color:green}+1{color} | {color:green} unit {color} | {color:green} 6m 42s{color} | {color:green} hbase-shell in the patch passed. {color} | | {color:green}+1{color} | {color:green} asflicense {color} | {color:green} 0m 10s{color} | {color:green} The patch does not generate ASF License warnings. {color} | | {color:black}{color} | {color:black} {color} | {color:black} 16m 30s{color} | {color:black} {color} | \\ \\ || Subsystem || Report/Notes || | Docker | Client=17.05.0-ce Server=17.05.0-ce Image:yetus/hbase:d8b550f | | JIRA Issue | HBASE-20327 | | JIRA Patch URL | https://issues.apache.org/jira/secure/attachment/12918812/HBASE-20327.master.003.patch | | Optional Tests | asflicense javac javadoc unit rubocop ruby_lint | | uname | Linux f8d9500214fd 4.4.0-43-generic #63-Ubuntu SMP Wed Oct 12 13:48:03 UTC 2016 x86_64 GNU/Linux | | Build tool | maven | | Personality | /home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/component/dev-support/hbase-personality.sh | | git revision | master / 17a29ac231 | | maven | version: Apache Maven 3.5.3 (3383c37e1f9e9b3bc3df5050c29c8aff9f295297; 2018-02-24T19:49:05Z) | | Default Java | 1.8.0_162 | | rubocop | v0.54.0 | | rubocop | https://builds.apache.org/job/PreCommit-HBASE-Build/12421/artifact/patchprocess/diff-patch-rubocop.txt | | ruby-lint | v2.3.1 | | ruby-lint | https://builds.apache.org/job/PreCommit-HBASE-Build/12421/artifact/patchprocess/diff-patch-ruby-lint.txt | | Test Results | https://builds.apache.org/job/PreCommit-HBASE-Build/12421/testReport/ | | Max. process+thread count | 2518 (vs. ulimit of 10000) | | modules | C: hbase-shell U: hbase-shell | | Console output | https://builds.apache.org/job/PreCommit-HBASE-Build/12421/console | | Powered by | Apache Yetus 0.7.0 http://yetus.apache.org | This message was automatically generated. > When qualifier is not specified, append and incr operation do not work (shell) > ------------------------------------------------------------------------------ > > Key: HBASE-20327 > URL: https://issues.apache.org/jira/browse/HBASE-20327 > Project: HBase > Issue Type: Improvement > Components: shell > Affects Versions: 3.0.0, 2.0.0 > Reporter: Nihal Jain > Assignee: Nihal Jain > Priority: Minor > Fix For: 3.0.0 > > Attachments: HBASE-20327.master.001.patch, > HBASE-20327.master.002.patch, HBASE-20327.master.003.patch > > > Running the example commands specified in shell docs for "append" and "incr" > throw following error: > {code:java} > ERROR: Failed to provide both column family and column qualifier for > append{code} > {code:java} > ERROR: Failed to provide both column family and column qualifier for > incr{code} > While running the same command via java does not require the user to provide > both column and qualifier and works smoothly. > > Steps to reproduce: > 1) APPEND > {code:java} > hbase(main):002:0> create 't1', 'c1', 'c2' > Created table t1 > Took 0.8151 seconds > > hbase(main):003:0> append 't1', 'r1', 'c1', 'value' > ERROR: Failed to provide both column family and column qualifier for append > Appends a cell 'value' at specified table/row/column coordinates. > hbase> append 't1', 'r1', 'c1', 'value', ATTRIBUTES=>{'mykey'=>'myvalue'} > hbase> append 't1', 'r1', 'c1', 'value', {VISIBILITY=>'PRIVATE|SECRET'} > The same commands also can be run on a table reference. Suppose you had a > reference > t to table 't1', the corresponding command would be: > hbase> t.append 'r1', 'c1', 'value', ATTRIBUTES=>{'mykey'=>'myvalue'} > hbase> t.append 'r1', 'c1', 'value', {VISIBILITY=>'PRIVATE|SECRET'} > Took 0.0326 seconds > hbase(main):004:0> scan 't1' > ROW COLUMN+CELL > > 0 row(s) > Took 0.1273 seconds > {code} > While the same command would run if we run the following java code: > {code:java} > try (Connection connection = ConnectionFactory.createConnection(config); > Admin admin = connection.getAdmin();) { > Table table = connection.getTable(TableName.valueOf("t1")); > Append a = new Append(Bytes.toBytes("r1")); > a.addColumn(Bytes.toBytes("c1"), null, Bytes.toBytes("value")); > table.append(a); > }{code} > Scan result after executing java code: > {code:java} > hbase(main):005:0> scan 't1' > ROW COLUMN+CELL > > r1 column=c1:, timestamp=1522649623090, > value=value > 1 row(s) > Took 0.0188 seconds > {code} > > 2) INCREMENT: > Similarly in case of increment, we get the following error (shell): > {code:java} > hbase(main):006:0> incr 't1', 'r2', 'c1', 111 > ERROR: Failed to provide both column family and column qualifier for incr > Increments a cell 'value' at specified table/row/column coordinates. > To increment a cell value in table 'ns1:t1' or 't1' at row 'r1' under column > 'c1' by 1 (can be omitted) or 10 do: > hbase> incr 'ns1:t1', 'r1', 'c1' > hbase> incr 't1', 'r1', 'c1' > hbase> incr 't1', 'r1', 'c1', 1 > hbase> incr 't1', 'r1', 'c1', 10 > hbase> incr 't1', 'r1', 'c1', 10, {ATTRIBUTES=>{'mykey'=>'myvalue'}} > hbase> incr 't1', 'r1', 'c1', {ATTRIBUTES=>{'mykey'=>'myvalue'}} > hbase> incr 't1', 'r1', 'c1', 10, {VISIBILITY=>'PRIVATE|SECRET'} > The same commands also can be run on a table reference. Suppose you had a > reference > t to table 't1', the corresponding command would be: > hbase> t.incr 'r1', 'c1' > hbase> t.incr 'r1', 'c1', 1 > hbase> t.incr 'r1', 'c1', 10, {ATTRIBUTES=>{'mykey'=>'myvalue'}} > hbase> t.incr 'r1', 'c1', 10, {VISIBILITY=>'PRIVATE|SECRET'} > Took 0.0103 seconds > > hbase(main):007:0> scan 't1' > ROW COLUMN+CELL > > r1 column=c1:, timestamp=1522649623090, > value=value > 1 row(s) > Took 0.0062 seconds > {code} > While the same command would run, if we run the following java code: > {code:java} > try (Connection connection = ConnectionFactory.createConnection(config); > Admin admin = connection.getAdmin();) { > Table table = connection.getTable(TableName.valueOf("t1")); > Increment incr = new Increment(Bytes.toBytes("r2")); > incr.addColumn(Bytes.toBytes("c1"), null, 111); > table.increment(incr); > scan(table); > } > {code} > Scan result after executing java code: > {code:java} > hbase(main):008:0> scan 't1' > ROW COLUMN+CELL > > r1 column=c1:, timestamp=1522649623090, > value=value > r2 column=c1:, timestamp=1522649933949, > value=\x00\x00\x00\x00\x00\x00\x00o > 2 row(s) > Took 0.0133 seconds > {code} > -- This message was sent by Atlassian JIRA (v7.6.3#76005)