[ 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