You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@accumulo.apache.org by "Bill Havanki (JIRA)" <ji...@apache.org> on 2013/12/03 18:54:37 UTC
[jira] [Created] (ACCUMULO-1959) Value constructors taking
ByteBuffers need refinement
Bill Havanki created ACCUMULO-1959:
--------------------------------------
Summary: 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.6.0, 1.7.0
Reporter: Bill Havanki
Priority: Minor
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)