[
https://issues.apache.org/jira/browse/HBASE-832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12622668#action_12622668
]
Jonathan Gray commented on HBASE-832:
-------------------------------------
I think it's a very bad idea to put any kind of constraint on byte[]'s anywhere.
Moving to byte[] has given the flexibility to put anything you want, wherever
you want. I can use serialized java objects as row keys if I want to.
Having any kind of reserved characters limits your ability to blindly store
binary objects wherever you'd like. Often the encoding of a binary object is
implemented in a library you don't touch, if it just so happens to be using a
reserved byte to start, you're SOL or stuck doing manually munging to ensure
you fit the constraints on what are valid byte[]'s.
> Problem with row keys beginnig with characters < than ',' and the region
> location cache
> ---------------------------------------------------------------------------------------
>
> Key: HBASE-832
> URL: https://issues.apache.org/jira/browse/HBASE-832
> Project: Hadoop HBase
> Issue Type: Bug
> Components: client
> Affects Versions: 0.2.0
> Reporter: Jean-Daniel Cryans
> Fix For: 0.3.0
>
>
> We currently have a problem the way we design .META. row keys. When user
> table row keys begin with characters lesser than ',' like a '$', any
> operation will fail when:
> - A client has a certain set of regions in cache
> - One region with the faulty row key splits
> - The client receives a request for a row in the split region
> The reason is that it will first get a NSRE then it will try to locate a
> region using the passed row key. For example:
> Row in META: entities,,1216750777411
> Row passed: entities,$-94f9386f-e235-4cbd-aacc-37210a870991,99999999999999
> The passed row is lesser then the row in .META.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.