You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hbase.apache.org by "stack (JIRA)" <ji...@apache.org> on 2009/01/04 06:09:44 UTC

[jira] Assigned: (HBASE-1106) Expose getClosestRowBefore in HTable

     [ https://issues.apache.org/jira/browse/HBASE-1106?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

stack reassigned HBASE-1106:
----------------------------

    Assignee: Michael Gottesman

> Expose getClosestRowBefore in HTable
> ------------------------------------
>
>                 Key: HBASE-1106
>                 URL: https://issues.apache.org/jira/browse/HBASE-1106
>             Project: Hadoop HBase
>          Issue Type: New Feature
>            Reporter: Michael Gottesman
>            Assignee: Michael Gottesman
>            Priority: Minor
>             Fix For: 0.19.0
>
>         Attachments: hbase-1106.patch
>
>
> Exposes the functionality of getClosestRowBefore in HTable. It can be useful in combination with atomic check and save in the following manner to create a global auto-id creation scheme:
> Presteps:
> 1. In your application, have a reserved value.
> 2. Create a reverse index table of your main table (best algorithm in my opinion is bitwise-not of key and append max-utf8 character)
> 3. Have an offset row in said reverse index table that your application does not allow to be set (usually this will be a bitwise inverse of some prefix + maximum UTF-8 character)
> Algorithm:
> 1. Use getClosestRowBefore to find the last created row before the offset (which will be the last row created)
> 2. Deinverse key and then increment the row key of the row returned by getClosestRowBefore
> 3. Attempt to reserve the row key with checkAndSave checking if reserved has been set.
> 4. If it fails try again.
> Attached is a patch to expose getClosestRowBefore. Comments are of course always welcome =).

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.