[
https://issues.apache.org/jira/browse/HBASE-3661?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Work on HBASE-3661 started by Michael Drzal.
> 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
> Assignee: Michael Drzal
> Priority: Minor
> Attachments: HBASE-3661.patch
>
>
> 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.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira