[
https://issues.apache.org/jira/browse/ACCUMULO-1959?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Bill Havanki reassigned ACCUMULO-1959:
--------------------------------------
Assignee: Bill Havanki
> Value constructors taking ByteBuffers need refinement
> -----------------------------------------------------
>
> Key: ACCUMULO-1959
> URL: https://issues.apache.org/jira/browse/ACCUMULO-1959
> Project: Accumulo
> Issue Type: Bug
> Affects Versions: 1.4.0
> Reporter: Bill Havanki
> Assignee: Bill Havanki
> Priority: Minor
> Fix For: 1.7.0
>
>
> 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
(v6.1#6144)