hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "HBase Review Board (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HBASE-2208) TableServers # processBatchOfRows - converts from List to [ ] - Expensive copy
Date Fri, 11 Jun 2010 04:35:13 GMT

    [ 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: stack@duboce.net

-----------------------------------------------------------
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.


Mime
View raw message