[
https://issues.apache.org/jira/browse/PHOENIX-7617?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Viraj Jasani reassigned PHOENIX-7617:
-------------------------------------
Assignee: Viraj Jasani
> BSON serialization should retain ByteBuffer offset
> --------------------------------------------------
>
> Key: PHOENIX-7617
> URL: https://issues.apache.org/jira/browse/PHOENIX-7617
> Project: Phoenix
> Issue Type: Bug
> Reporter: Viraj Jasani
> Assignee: Viraj Jasani
> Priority: Major
> Fix For: 5.3.0
>
>
> The serialization of Phoenix BSON data type requires retrieval of bytes from
> BsonDocument
> ByteBuffer. BSON data type uses HBase provided Bytes utility to get the bytes
> from ByteBuffer. However, HBase Bytes resets the offset position to 0 before
> copying the bytes:
> {code:java}
> /**
> * Returns a new byte array, copied from the given {@code buf}, from the
> index 0 (inclusive) to
> * the limit (exclusive), regardless of the current position. The position
> and the other index
> * parameters are not changed.
> * @param buf a byte buffer
> * @return the byte array
> * @see #getBytes(ByteBuffer)
> */
> public static byte[] toBytes(ByteBuffer buf) {
> ByteBuffer dup = buf.duplicate();
> dup.position(0);
> return readBytes(dup);
> } {code}
> Therefore, BSON data type needs to have its own utility to address retaining
> offset while serializing the bytes.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)