Mohammad Arshad created HBASE-26856:
---------------------------------------

             Summary: BufferedDataBlockEncoder.OnheapDecodedCell value can get 
corrupted
                 Key: HBASE-26856
                 URL: https://issues.apache.org/jira/browse/HBASE-26856
             Project: HBase
          Issue Type: Bug
            Reporter: Mohammad Arshad
            Assignee: Mohammad Arshad


In our production cluster we observed the cell value is modified after 
successful scanner read. After analyzing we observed OnheapDecodedCell is not 
created properly.

We create OnheapDecodedCell with complete valAndTagsBuffer underlying array.

{code:java}
 return new OnheapDecodedCell(Bytes.copy(keyBuffer, 0, this.keyLength),
          currentKey.getRowLength(), currentKey.getFamilyOffset(), 
currentKey.getFamilyLength(),
          currentKey.getQualifierOffset(), currentKey.getQualifierLength(),
          currentKey.getTimestamp(), currentKey.getTypeByte(), 
valAndTagsBuffer.array(),
          valAndTagsBuffer.arrayOffset() + vOffset, this.valueLength, 
memstoreTS, tagsArray,
          tOffset, this.tagsLength);
{code}

Here we are passing valAndTagsBuffer.array() for value extraction.


The underlying array will be modified if it is altered anywhere. 



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to