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

Ankit Singhal commented on HBASE-15260:
---------------------------------------

so WDYT, should we just update the documentation from

{code}
If the passed value is null, the check
   * is for the lack of column (ie: non-existance)
{code}

To


{code}
If the passed value is null, the check
   * is for the lack of column (ie: non-existance) or zero-length column value.
{code}

Or , if it seems invalid ,let's close the ticket as invalid?

> Should we check zero length value in checkAndMutate when null is passes as 
> expected value?
> ------------------------------------------------------------------------------------------
>
>                 Key: HBASE-15260
>                 URL: https://issues.apache.org/jira/browse/HBASE-15260
>             Project: HBase
>          Issue Type: Bug
>            Reporter: Ankit Singhal
>
> Should we check zero length value in checkAndMutate when null is passes as 
> expected value?
> If yes, then I think we should update the documentation for checkAndPut with 
> the same as sometimes column are used for marker with empty byte array.
> {code}
> If the passed value is null, the check
>    * is for the lack of column (ie: non-existance)
> boolean checkAndPut(byte[] row, byte[] family, byte[] qualifier,
>     byte[] value, Put put) throws IOException;
> {code}
> otherwise , we should remove this check.
> {code}
> HRegion.class
> @Override
>   public boolean checkAndMutate(byte [] row, byte [] family, byte [] 
> qualifier,
>       CompareOp compareOp, ByteArrayComparable comparator, Mutation w,
>       boolean writeToWAL)
>   throws IOException{
> ...
> else if (result.size() > 0 && result.get(0).getValueLength() == 0 &&
>             valueIsNull) {
>           matches = true;
>         }
>  {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to