hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Anoop Sam John (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-18987) Raise value of HConstants#MAX_ROW_LENGTH
Date Thu, 12 Oct 2017 12:46:00 GMT

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

Anoop Sam John commented on HBASE-18987:

It is an int but what I mean is while writing Cells to HFile.     When a Put is been made
with RK of length more than Short.MAX_VAL (And with this patch), how abt the RK length what
we will get back from Cells added into the Put? Will that be correct?  The test case just
assert Put is been made with out Exception.  Can u do an addColumn() to this Put and get back
that Cell and see the RK len?

> Raise value of HConstants#MAX_ROW_LENGTH
> ----------------------------------------
>                 Key: HBASE-18987
>                 URL: https://issues.apache.org/jira/browse/HBASE-18987
>             Project: HBase
>          Issue Type: Bug
>          Components: regionserver
>    Affects Versions: 1.0.0, 2.0.0
>            Reporter: Esteban Gutierrez
>            Assignee: Esteban Gutierrez
>            Priority: Minor
>         Attachments: HBASE-18987.master.001.patch, HBASE-18987.master.002.patch
> Short.MAX_VALUE hasn't been a problem for a long time but one of our customers ran into
an  edgy case when the midKey used for the split point was very close to Short.MAX_VALUE.
When the split is submitted, we attempt to create the new two daughter regions and we name
those regions via {{HRegionInfo.createRegionName()}} in order to be added to META. Unfortunately,
since {{HRegionInfo.createRegionName()}} uses midKey as the startKey {{Put}} will fail since
the row key length will now fail checkRow and thus causing the split to fail.
> I tried a couple of alternatives to address this problem, e.g. truncating the startKey.
But the number of changes in the code doesn't justify for this edge condition. Since we already
use {{Integer.MAX_VALUE - 1}} for {{HConstants#MAXIMUM_VALUE_LENGTH}} it should be ok to use
the same limit for the maximum row key. 

This message was sent by Atlassian JIRA

View raw message