[jira] [Updated] (HBASE-18026) ProtobufUtil seems to do extra array copying
[ https://issues.apache.org/jira/browse/HBASE-18026?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Anoop Sam John updated HBASE-18026: --- Fix Version/s: (was: 2.0.0) > ProtobufUtil seems to do extra array copying > > > Key: HBASE-18026 > URL: https://issues.apache.org/jira/browse/HBASE-18026 > Project: HBase > Issue Type: Bug >Affects Versions: 1.3.2 >Reporter: Vincent Poon >Assignee: Vincent Poon >Priority: Minor > Fix For: 1.4.0, 1.2.6, 1.3.2, 1.1.11 > > Attachments: HBASE-18026.addendum.patch, > HBASE-18026.branch-1.v1.patch, HBASE-18026.master.v1.patch > > > In ProtobufUtil, the protobuf fields are copied into an array using > toByteArray(). These are then passed into the KeyValue constructor which > does another copy. > It seems like we can avoid a copy here by using > HBaseZeroCopyByteString#zeroCopyGetBytes() ? -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Updated] (HBASE-18026) ProtobufUtil seems to do extra array copying
[ https://issues.apache.org/jira/browse/HBASE-18026?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Andrew Purtell updated HBASE-18026: --- Affects Version/s: (was: 2.0.0) Fix Version/s: (was: 2.0.0) > ProtobufUtil seems to do extra array copying > > > Key: HBASE-18026 > URL: https://issues.apache.org/jira/browse/HBASE-18026 > Project: HBase > Issue Type: Bug >Affects Versions: 1.3.2 >Reporter: Vincent Poon >Assignee: Vincent Poon >Priority: Minor > Fix For: 1.4.0, 1.2.6, 1.3.2, 1.1.11 > > Attachments: HBASE-18026.addendum.patch, > HBASE-18026.branch-1.v1.patch, HBASE-18026.master.v1.patch > > > In ProtobufUtil, the protobuf fields are copied into an array using > toByteArray(). These are then passed into the KeyValue constructor which > does another copy. > It seems like we can avoid a copy here by using > HBaseZeroCopyByteString#zeroCopyGetBytes() ? -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Updated] (HBASE-18026) ProtobufUtil seems to do extra array copying
[ https://issues.apache.org/jira/browse/HBASE-18026?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Vincent Poon updated HBASE-18026: - Attachment: HBASE-18026.addendum.patch [~anoop.hbase] Thanks for the clarification. Here's an addendum where if it's not a LiteralByteString, I just do toByteArray(). Seems the behavior should be safe in that case? > ProtobufUtil seems to do extra array copying > > > Key: HBASE-18026 > URL: https://issues.apache.org/jira/browse/HBASE-18026 > Project: HBase > Issue Type: Bug >Affects Versions: 2.0.0, 1.3.2 >Reporter: Vincent Poon >Assignee: Vincent Poon >Priority: Minor > Fix For: 2.0.0, 1.4.0, 1.2.6, 1.3.2, 1.1.11 > > Attachments: HBASE-18026.addendum.patch, > HBASE-18026.branch-1.v1.patch, HBASE-18026.master.v1.patch > > > In ProtobufUtil, the protobuf fields are copied into an array using > toByteArray(). These are then passed into the KeyValue constructor which > does another copy. > It seems like we can avoid a copy here by using > HBaseZeroCopyByteString#zeroCopyGetBytes() ? -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Updated] (HBASE-18026) ProtobufUtil seems to do extra array copying
[ https://issues.apache.org/jira/browse/HBASE-18026?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Andrew Purtell updated HBASE-18026: --- Resolution: Fixed Hadoop Flags: Reviewed Fix Version/s: 1.1.11 1.3.2 1.2.6 1.4.0 2.0.0 Status: Resolved (was: Patch Available) Low risk perf improvement committed to all active branches. > ProtobufUtil seems to do extra array copying > > > Key: HBASE-18026 > URL: https://issues.apache.org/jira/browse/HBASE-18026 > Project: HBase > Issue Type: Bug >Affects Versions: 2.0.0, 1.3.2 >Reporter: Vincent Poon >Assignee: Vincent Poon >Priority: Minor > Fix For: 2.0.0, 1.4.0, 1.2.6, 1.3.2, 1.1.11 > > Attachments: HBASE-18026.branch-1.v1.patch, > HBASE-18026.master.v1.patch > > > In ProtobufUtil, the protobuf fields are copied into an array using > toByteArray(). These are then passed into the KeyValue constructor which > does another copy. > It seems like we can avoid a copy here by using > HBaseZeroCopyByteString#zeroCopyGetBytes() ? -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Updated] (HBASE-18026) ProtobufUtil seems to do extra array copying
[ https://issues.apache.org/jira/browse/HBASE-18026?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Vincent Poon updated HBASE-18026: - Status: Patch Available (was: Open) > ProtobufUtil seems to do extra array copying > > > Key: HBASE-18026 > URL: https://issues.apache.org/jira/browse/HBASE-18026 > Project: HBase > Issue Type: Bug >Affects Versions: 2.0.0, 1.3.2 >Reporter: Vincent Poon >Assignee: Vincent Poon >Priority: Minor > Attachments: HBASE-18026.branch-1.v1.patch, > HBASE-18026.master.v1.patch > > > In ProtobufUtil, the protobuf fields are copied into an array using > toByteArray(). These are then passed into the KeyValue constructor which > does another copy. > It seems like we can avoid a copy here by using > HBaseZeroCopyByteString#zeroCopyGetBytes() ? -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Updated] (HBASE-18026) ProtobufUtil seems to do extra array copying
[ https://issues.apache.org/jira/browse/HBASE-18026?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Vincent Poon updated HBASE-18026: - Attachment: HBASE-18026.master.v1.patch HBASE-18026.branch-1.v1.patch > ProtobufUtil seems to do extra array copying > > > Key: HBASE-18026 > URL: https://issues.apache.org/jira/browse/HBASE-18026 > Project: HBase > Issue Type: Bug >Affects Versions: 2.0.0, 1.3.2 >Reporter: Vincent Poon >Assignee: Vincent Poon >Priority: Minor > Attachments: HBASE-18026.branch-1.v1.patch, > HBASE-18026.master.v1.patch > > > In ProtobufUtil, the protobuf fields are copied into an array using > toByteArray(). These are then passed into the KeyValue constructor which > does another copy. > It seems like we can avoid a copy here by using > HBaseZeroCopyByteString#zeroCopyGetBytes() ? -- This message was sent by Atlassian JIRA (v6.3.15#6346)