[
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.
{quote}
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.
{quote}
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,
> HBASE-4720.v3.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