accumulo-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Bill Havanki (JIRA)" <>
Subject [jira] [Commented] (ACCUMULO-1959) Value constructors taking ByteBuffers need refinement
Date Mon, 16 Dec 2013 19:03:07 GMT


Bill Havanki commented on ACCUMULO-1959:

Awesome, thanks Josh.

> Value constructors taking ByteBuffers need refinement
> -----------------------------------------------------
>                 Key: ACCUMULO-1959
>                 URL:
>             Project: Accumulo
>          Issue Type: Bug
>    Affects Versions: 1.4.0
>            Reporter: Bill Havanki
>            Assignee: Bill Havanki
>            Priority: Minor
>             Fix For: 1.6.0
>         Attachments: ACCUMULO-1959.patch
> This ticket pertains to the following Value constructors.
> {noformat}
> public Value(ByteBuffer bytes)
> public Value(ByteBuffer bytes, boolean copy)
> {noformat}
> Their appearance suggests that the second one can either copy bytes from the buffer or
reference them directly, and the first one works similarly but has some default copying behavior.
> However, both constructors use {{ByteBufferUtil.toBytes()}} on the ByteBuffer object,
which always performs a copy. Therefore, it doesn't make sense (to me at least) to support
a copy flag in the second constructor. In the current implementation, the bytes are copied
twice if the copy flag is true.
> The implementation should be reworked to avoid unnecessary copies, and perhaps simplify
the API.

This message was sent by Atlassian JIRA

View raw message