[
https://issues.apache.org/jira/browse/HBASE-5958?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13270685#comment-13270685
]
Todd Lipcon commented on HBASE-5958:
------------------------------------
In my mind the two possible solutions are :
1) use protostuff
2) use my earlier idea of a "data dictionary" at the front of our RPC requests.
Essentially, we'd change the RPC request/response mechanism so that before each
message (or perhaps after), we send a list of KeyValues (or byte strings). Then
in the actual Put/Result/whatever protos, we just use vint32s to refer back to
the dictionary. That would allow us to manually send out the KeyValues using a
CodedOutputStream rather than having to build a full protobuf which includes
them, if that makes sense.
> Replace ByteString.copyFrom with new ByteString()
> -------------------------------------------------
>
> Key: HBASE-5958
> URL: https://issues.apache.org/jira/browse/HBASE-5958
> Project: HBase
> Issue Type: Improvement
> Components: performance
> Affects Versions: 0.96.0
> Reporter: Jimmy Xiang
> Assignee: Jimmy Xiang
> Fix For: 0.96.0
>
>
> ByteString.copyFrom makes a copy of a byte array in case it is changed in
> other thread.
> In most case, we don't need to worry about that. We should avoid copying the
> bytes
> for performance issue.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira