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)