hbase-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jonathan Gray (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HBASE-832) Problem with row keys beginnig with characters < than ',' and the region location cache
Date Thu, 14 Aug 2008 20:07:44 GMT

    [ 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.


Mime
View raw message