[ 
https://issues.apache.org/jira/browse/PHOENIX-7617?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Viraj Jasani resolved PHOENIX-7617.
-----------------------------------
    Resolution: Fixed

> 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)

Reply via email to