[
https://issues.apache.org/jira/browse/HBASE-4720?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13285125#comment-13285125
]
stack commented on HBASE-4720:
------------------------------
@Mubarak Do you like Jimmy's changes?
Jimmy, should you do a define for 'put'? Should the compare lowercase first?
Jimmy, there is no excuse for dup'ing code:
{code}
+ if ("put".equals(check)) {
+ return checkAndPut(model);
+ } else if ("delete".equals(check)) {
+ return checkAndDelete(model);
+ } else {
+ if (check != null && check.length() > 0) {
+ LOG.warn("Unknown check value: " + check + ", ignored");
+ }
+ return update(model, false);
+ }
{code}
Else looks good to me Jimmy
> 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.96.0
>
> Attachments: 4720_trunk.patch, 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.trunk.v7.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