Details
Description
i am trying to use maxValues with a "globbed" row resource in stargate. from looking at the source code one has to do something like
table/row/column(s)/timestamp(s)/?n=1
(except the ?n=1 piece must be urlencoded)
however i cannot get the n=1 piece to work. i get this stacktrace:
<p>Problem accessing /some_table_name/93%2B002%2B*/cf:tx_CUST_NAME/1,13862892906600/%3Fn%3D1. Reason:
<pre> String index out of range: 50</pre></p><h3>Caused by:</h3><pre>java.lang.StringIndexOutOfBoundsException: String index out of range: 50
at java.lang.AbstractStringBuilder.charAt(AbstractStringBuilder.java:174)
at java.lang.StringBuilder.charAt(StringBuilder.java:55)
at org.apache.hadoop.hbase.rest.RowSpec.parseQueryParams(RowSpec.java:260)
at org.apache.hadoop.hbase.rest.RowSpec.<init>(RowSpec.java:59)
at org.apache.hadoop.hbase.rest.RowResource.<init>(RowResource.java:74)
at org.apache.hadoop.hbase.rest.TableResource.getRowResource(TableResource.java:90)
the offending line is (260 in RowSpec):
c = query.charAt;
i think this should be
c = query.charAt(j);
same for line 248 (which handles the maxVersions)
i have not been able to test this (never tried to build hbase myself).