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

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

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
            Priority: Minor


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.


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

Posted by "stack (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-1106?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

stack resolved HBASE-1106.
--------------------------

       Resolution: Fixed
    Fix Version/s: 0.19.0

Committed.  Thanks for the patch Michael (I added you as contributor).

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


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

Posted by "Michael Gottesman (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-1106?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Michael Gottesman updated HBASE-1106:
-------------------------------------

    Attachment: hbase-1106.patch

> 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
>            Priority: Minor
>         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.


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

Posted by "stack (JIRA)" <ji...@apache.org>.
     [ 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.