[
https://issues.apache.org/jira/browse/HBASE-15260?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15145332#comment-15145332
]
stack commented on HBASE-15260:
-------------------------------
What you seeing [~ankit.singhal]? Yeah, a no value is supposed to be legit as
means of getting current value of the Cell when doing checkAnd* (or Increment
or Append) without modification. You getting a NPE when you try to do this on
checkAnd*?
> 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)