hbase-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "stack (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:19:44 GMT

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

stack commented on HBASE-832:
-----------------------------

Taking a quick look, inserting into memcache and out to store files, we use HStoreKey.  The
comparator in HSK knows how to make sense of our row/column/ts keys.  So, problem is elsewhere
in the system; somewhere we are looking at the 'row' as raw byte array and we're using dumb
Bytes.BYTE_COMPARATOR when it should be a byte comparator that knows it a HSK and that parses
it appropriatlely (i.e going left to right up to the DELIMITER, first compare row component,
then parse out the timestamp and the remainder is the column; compare this, then ts).  I wonder
if its in our MR classes where we're using ImmutableBytesWritable?  Perhaps we should be using
something 'smarter'

> 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