[ https://issues.apache.org/jira/browse/HBASE-4325?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13102814#comment-13102814 ]
jirapos...@reviews.apache.org commented on HBASE-4325: ------------------------------------------------------ ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/1801/ ----------------------------------------------------------- Review request for hbase and Michael Stack. Summary ------- commit d9a0965fc014cbd700e3ee450a51a8276b0d3790 Author: Jonathan Hsieh <j...@cloudera.com> Date: Sun Sep 11 14:28:05 2011 -0700 HBASE-4325 Improve error message when using STARTROW for meta scans This addresses bug HBASE-4325. https://issues.apache.org/jira/browse/HBASE-4325 Diffs ----- src/main/java/org/apache/hadoop/hbase/KeyValue.java 7c7bf21 src/test/java/org/apache/hadoop/hbase/TestKeyValue.java 68fff55 Diff: https://reviews.apache.org/r/1801/diff Testing ------- Tests pass on trunk and 0.90 branch. Ran commands mentioned in jira. Still takes a while and returns long stack trace but new message is actionable. Thanks, jmhsieh > Improve error message when using STARTROW for meta scans. > --------------------------------------------------------- > > Key: HBASE-4325 > URL: https://issues.apache.org/jira/browse/HBASE-4325 > Project: HBase > Issue Type: Bug > Components: shell > Affects Versions: 0.90.4 > Reporter: Jonathan Hsieh > Assignee: Jonathan Hsieh > Attachments: > 0001-HBASE-4325-Improve-error-message-when-using-STARTROW.patch > > > While in shell, when doing one of these: > {code} > get '.META.','table,d110818d237e63f-b236-4c89-a2c7-5f6342110818' > scan '.META.', {LIMIT => 10 , > STARTROW=>'table,d110818d3f72650-4a61-4352-ab49-707b42110818'} > {code} > The call fails with a cryptic message: > {code} > ERROR: org.apache.hadoop.hbase.client.RetriesExhaustedException: Trying to > contact region server hp-node02.phx1.mozilla.com:60020 for region .META.,,1, > row 'crash_reports,d110818d237e63f-b236-4c89-a2c7-5f6342110818', but failed > after 7 attempts. > Exceptions: > java.io.IOException: java.io.IOException: java.lang.IllegalArgumentException: > No 44 in <E9table,d110818d237e63f-b236-4c89-a2c7-5f6342110818��������>, > length=43, offset=24 > at > org.apache.hadoop.hbase.regionserver.HRegionServer.convertThrowableToIOE(HRegionServer.java:987) > at > org.apache.hadoop.hbase.regionserver.HRegionServer.convertThrowableToIOE(HRegionServer.java:976) > at > org.apache.hadoop.hbase.regionserver.HRegionServer.get(HRegionServer.java:1632) > at sun.reflect.GeneratedMethodAccessor30.invoke(Unknown Source) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:597) > at org.apache.hadoop.hbase.ipc.HBaseRPC$Server.call(HBaseRPC.java:570) > at > org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1039) > Caused by: java.lang.IllegalArgumentException: No 44 in > <E9table,d110818d237e63f-b236-4c89-a2c7-5f6342110818��������>, length=43, > offset=24 > at > org.apache.hadoop.hbase.KeyValue.getRequiredDelimiterInReverse(KeyValue.java:1281) > at > org.apache.hadoop.hbase.KeyValue$MetaKeyComparator.compareRows(KeyValue.java:1827) > at > org.apache.hadoop.hbase.KeyValue$KeyComparator.compare(KeyValue.java:1866) > at org.apache.hadoop.hbase.util.Bytes.binarySearch(Bytes.java:1159) > at > org.apache.hadoop.hbase.io.hfile.HFile$BlockIndex.blockContainingKey(HFile.java:1622) > at > org.apache.hadoop.hbase.io.hfile.HFile$Reader.blockContainingKey(HFile.java:918) > at > org.apache.hadoop.hbase.io.hfile.HFile$Reader$Scanner.seekTo(HFile.java:1300) > at > org.apache.hadoop.hbase.regionserver.StoreFileScanner.seekAtOrAfter(StoreFileScanner.java:136) > at > org.apache.hadoop.hbase.regionserver.StoreFileScanner.seek(StoreFileScanner.java:96) > at > org.apache.hadoop.hbase.regionserver.StoreScanner.<init>(StoreScanner.java:77) > at > org.apache.hadoop.hbase.regionserver.Store.getScanner(Store.java:1345) > at > org.apache.hadoop.hbase.regionserver.HRegion$RegionScanner.<init>(HRegion.java:2276) > at > org.apache.hadoop.hbase.regionserver.HRegion.instantiateInternalScanner(HRegion.java:1131) > at > org.apache.hadoop.hbase.regionserver.HRegion.getScanner(HRegion.java:1123) > at > org.apache.hadoop.hbase.regionserver.HRegion.getScanner(HRegion.java:1107) > at org.apache.hadoop.hbase.regionserver.HRegion.get(HRegion.java:2998) > at org.apache.hadoop.hbase.regionserver.HRegion.get(HRegion.java:2900) > at > org.apache.hadoop.hbase.regionserver.HRegionServer.get(HRegionServer.java:1630) > ... 5 more > {code} > Apparently the solution is to have the proper number of commas in the query. > {code} > get '.META.','table,d110818d237e63f-b236-4c89-a2c7-5f6342110818,' > scan '.META.', {LIMIT => 10 , > STARTROW=>'table,d110818d3f72650-4a61-4352-ab49-707b42110818,'} > {code} > A better actionable error message should be reported. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira