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