hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andrew Purtell (Commented) (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-4720) Implement atomic update operations (checkAndPut, checkAndDelete) for REST client/server
Date Tue, 24 Jan 2012 17:50:45 GMT

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

Andrew Purtell commented on HBASE-4720:

Ted, I am going to revert your commit.

bq. The URI format for requests is '/<table>/<row>/ ...' This violates that by
adding, just for check-and cases, a prefix. Having a special case like that should be avoided.
What about handling this in TableResource, with a query parameter? '/<table>/<row>/?check'
E.g.Then you won't need CheckAndXTableResource classes. Additionally use the appropriate HTTP
operations. PUT/POST for check-and-put. DELETE for check-and-delete. The spec does not forbid
bodies in DELETE requests. (I am unsure if Jetty/Jersey will support it however.)

We have discussed the design choices earlier (refer comments in the same JIRA), Stack and
Ted have voted for option # 2 (/checkandput, /checkanddelete) option. If i have to go back
to option #1 then i will have to re-work most of the stuff here.

This has not changed, therefore -1.

> Implement atomic update operations (checkAndPut, checkAndDelete) for REST client/server

> ----------------------------------------------------------------------------------------
>                 Key: HBASE-4720
>                 URL: https://issues.apache.org/jira/browse/HBASE-4720
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Daniel Lord
>            Assignee: Mubarak Seyed
>             Fix For: 0.94.0
>         Attachments: HBASE-4720.trunk.v1.patch, HBASE-4720.trunk.v2.patch, HBASE-4720.trunk.v3.patch,
HBASE-4720.trunk.v4.patch, HBASE-4720.trunk.v5.patch, HBASE-4720.trunk.v6.patch, HBASE-4720.v1.patch,
> I have several large application/HBase clusters where an application node will occasionally
need to talk to HBase from a different cluster.  In order to help ensure some of my consistency
guarantees I have a sentinel table that is updated atomically as users interact with the system.
 This works quite well for the "regular" hbase client but the REST client does not implement
the checkAndPut and checkAndDelete operations.  This exposes the application to some race
conditions that have to be worked around.  It would be ideal if the same checkAndPut/checkAndDelete
operations could be supported by the REST client.

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira


View raw message