Details
-
Bug
-
Status: Resolved
-
Low
-
Resolution: Fixed
-
None
-
None
-
Low
Description
In OHCProvider.DataOutputPlusAdapter.write(), we do the following:
if (buffer.hasArray()) out.write(buffer.array(), buffer.arrayOffset(), buffer.remaining());
This doesn't behave correctly if the ByteBuffer has a non-zero position. Instead, we need to add buffer.position() to buffer.arrayOffset().
At least against CASSANDRA-8099, this has the effect of writing incorrect row cache entries.