[
https://issues.apache.org/jira/browse/HBASE-2208?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12877707#action_12877707
]
HBase Review Board commented on HBASE-2208:
-------------------------------------------
Message from: [email protected]
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://review.hbase.org/r/165/
-----------------------------------------------------------
Review request for hbase.
Summary
-------
Patch that changes interface for batch put and delete so passes List instead of
an array.
Straight-forward change but for some generics wrestling and some gratuitous
eclipse reformatting of imports.
This addresses bug hbase-2208.
http://issues.apache.org/jira/browse/hbase-2208
Diffs
-----
src/main/java/org/apache/hadoop/hbase/client/HConnectionManager.java ed18092
src/main/java/org/apache/hadoop/hbase/ipc/HRegionInterface.java b36f1df
src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java a1baff4
Diff: http://review.hbase.org/r/165/diff
Testing
-------
Tests pass but testzookeeper (something broke this).
Thanks,
stack
> TableServers # processBatchOfRows - converts from List to [ ] -
> Expensive copy
> ------------------------------------------------------------------------------------
>
> Key: HBASE-2208
> URL: https://issues.apache.org/jira/browse/HBASE-2208
> Project: HBase
> Issue Type: Improvement
> Reporter: Kay Kay
> Fix For: 0.21.0
>
>
> With autoFlush to false and a large write buffer on HTable, when we write
> bulk puts - TableServer # processBatchOfRows , convert the input (List) to
> an [ ] , before sending down the wire.
> With a write buffer as large as 20 MB , that becomes an expensive copy when
> we do - list.toArray(new T[ ] ).
> May be - should we change the wire protocol to support List as well , and
> then revisit this to prevent the bulk copy ?
> {code}
> Batch b = new Batch(this) {
> @Override
> int doCall(final List<Row> currentList, final byte [] row,
> final byte [] tableName)
> throws IOException, RuntimeException {
> *final Put [] puts = currentList.toArray(PUT_ARRAY_TYPE);*
> return getRegionServerWithRetries(new
> ServerCallable<Integer>(this.c,
> tableName, row) {
> public Integer call() throws IOException {
> return server.put(location.getRegionInfo().getRegionName(),
> puts);
> }
> });
> }
> {code}
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.