[ 
https://issues.apache.org/jira/browse/HBASE-7221?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13562830#comment-13562830
 ] 

Nick Dimiduk commented on HBASE-7221:
-------------------------------------

The obvious stateless parser would model existing Java's Regex APIs: "compile" 
your format string and then use a Parser to consume the byte[]. There may be a 
more clever approach but, as you say, no one has volunteered any ideas. To the 
point both you and Lars made, a stateful implementation is likely faster, but 
then I have to assume the presence of wisdom in the C-wielding database 
implementers of old who chose the stateless approach for such things.

I believe as you do that this kind of functionality should be packaged with 
HBase. Until I have opportunity to produce an alternate patch for 
consideration, I'll revoke my -1 from the approach of your implementation. 
However, I maintain the -1 regarding the nits I pointed out.
                
> RowKey utility class for rowkey construction
> --------------------------------------------
>
>                 Key: HBASE-7221
>                 URL: https://issues.apache.org/jira/browse/HBASE-7221
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Doug Meil
>            Assignee: Doug Meil
>            Priority: Minor
>         Attachments: HBASE_7221.patch, hbase-common_hbase_7221_2.patch, 
> hbase-common_hbase_7221_v3.patch
>
>
> A common question in the dist-lists is how to construct rowkeys, particularly 
> composite keys.  Put/Get/Scan specifies byte[] as the rowkey, but it's up to 
> you to sensibly populate that byte-array, and that's where things tend to go 
> off the rails.
> The intent of this RowKey utility class isn't meant to add functionality into 
> Put/Get/Scan, but rather make it simpler for folks to construct said arrays.  
> Example:
> {code}
>    RowKey key = RowKey.create(RowKey.SIZEOF_MD5_HASH + RowKey.SIZEOF_LONG);
>    key.addHash(a);
>    key.add(b);
>    byte bytes[] = key.getBytes();
> {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