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

Lars Hofhansl commented on HBASE-10256:
---------------------------------------

Not sure I follow. If you can issue a checkAndDelete you do have a row-key, 
right? In that case how is a checkAndDelete with a null value different from 
just a Delete?
In this case you have a row-key, but you do now know whether it actually exists?

> Handling of value argument being null for checkAndDelete
> --------------------------------------------------------
>
>                 Key: HBASE-10256
>                 URL: https://issues.apache.org/jira/browse/HBASE-10256
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: James Taylor
>
> IMO, it would be more useful if when a null is supplied as the value for 
> checkAndDelete, that it add the Delete marker if the row exists rather than 
> if it doesn't exist (i.e. the opposite of checkAndPut). I think the most 
> common use case for checkAndDelete is to delete a row if it exists and tell 
> me that you deleted it. With the current implementation, it adds a Delete 
> marker only if the row does not exist when you supply a null value which IMO 
> is not very useful.
> My workaround is to add another "known" KeyValue to my row with a fixed value 
> and then call checkAndDelete passing in this known value. Also, FWIW, if an 
> empty byte array is passed through (a valid value), it treats it the same as 
> if null was passed through, which is another separate bug.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

Reply via email to