[ 
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

Reply via email to