Handle empty qualifier better in shell for increments -----------------------------------------------------
Key: HBASE-3661 URL: https://issues.apache.org/jira/browse/HBASE-3661 Project: HBase Issue Type: Improvement Components: shell Affects Versions: 0.92.0 Reporter: Lars George Priority: Minor Fix For: 0.92.0 When trying to increment a counter using the examples, which specify no *explicit* qualifier you get an error: {code} hbase(main):014:0> incr 'testtable', 'cnt1', 'colfam1', 1 ERROR: org.apache.hadoop.hbase.client.RetriesExhaustedException: Trying to contact region server 10.0.0.57:51640 for region testtable,,1300267113942.cd2e7925140eb414d519621e384fb654., row 'cnt1', but failed after 7 attempts. Exceptions: java.io.IOException: java.io.IOException: java.lang.NullPointerException at org.apache.hadoop.hbase.regionserver.ColumnCount.<init>(ColumnCount.java:47) at org.apache.hadoop.hbase.regionserver.ExplicitColumnTracker.<init>(ExplicitColumnTracker.java:69) at org.apache.hadoop.hbase.regionserver.ScanQueryMatcher.<init>(ScanQueryMatcher.java:93) at org.apache.hadoop.hbase.regionserver.StoreScanner.<init>(StoreScanner.java:65) at org.apache.hadoop.hbase.regionserver.Store.getScanner(Store.java:1436) at org.apache.hadoop.hbase.regionserver.HRegion$RegionScanner.<init>(HRegion.java:2412) at org.apache.hadoop.hbase.regionserver.HRegion.instantiateInternalScanner(HRegion.java:1185) at org.apache.hadoop.hbase.regionserver.HRegion.getScanner(HRegion.java:1171) at org.apache.hadoop.hbase.regionserver.HRegion.getScanner(HRegion.java:1155) at org.apache.hadoop.hbase.regionserver.HRegion.getLastIncrement(HRegion.java:3087) at org.apache.hadoop.hbase.regionserver.HRegion.incrementColumnValue(HRegion.java:3312) at org.apache.hadoop.hbase.regionserver.HRegionServer.incrementColumnValue(HRegionServer.java:2570) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.hadoop.hbase.ipc.WritableRpcEngine$Server.call(WritableRpcEngine.java:309) at org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1060) Here is some help for this command: Increments a cell 'value' at specified table/row/column coordinates. To increment a cell value in table 't1' at row 'r1' under column 'c1' by 1 (can be omitted) or 10 do: hbase> incr 't1', 'r1', 'c1' hbase> incr 't1', 'r1', 'c1', 1 hbase> incr 't1', 'r1', 'c1', 10 {code} Handle this more gracefully (printing 5 stacktraces is ugly), improve the help to specify what is needed more clearly. Or fix the server side to support this, if this makes sense, and therefore never triggering this issue. Adding a qualifier makes it work: {code} hbase(main):015:0> incr 'testtable', 'cnt1', 'colfam1:test', 1 COUNTER VALUE = 1 hbase(main):016:0> incr 'testtable', 'cnt1', 'colfam1:test', 1 COUNTER VALUE = 2 {code} -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira