Charan Reddy Guttapalem created BOOKKEEPER-958:
--------------------------------------------------
Summary: ZeroBuffer readOnlyBuffer returns ByteBuffer with 0
remaining bytes for length > 64k
Key: BOOKKEEPER-958
URL: https://issues.apache.org/jira/browse/BOOKKEEPER-958
Project: Bookkeeper
Issue Type: Bug
Reporter: Charan Reddy Guttapalem
Assignee: Charan Reddy Guttapalem
Priority: Trivial
in ZeroBuffer
here, if the length is > zeroBytes.length (64K), then it is returning zero
ByteBuffer but its position is set to limit and hence its remaining will be 0,
which is not expected, but if it is < 64k then its position is set to 0 and the
remaining will be length.
Looking at the call hierearchy, it seems there are no callers for this
function, but since this is utility class it needs to be corrected.
public static ByteBuffer readOnlyBuffer(int length) {
ByteBuffer buffer;
if (length <= zeroBytes.length) {
buffer = ByteBuffer.wrap(zeroBytes, 0, length);
}
else {
buffer = ByteBuffer.allocate(length);
put(buffer);
}
return buffer.asReadOnlyBuffer();
}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)