Return-Path: X-Original-To: apmail-hbase-issues-archive@www.apache.org Delivered-To: apmail-hbase-issues-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 3D03EF2C1 for ; Fri, 19 Apr 2013 01:06:14 +0000 (UTC) Received: (qmail 47963 invoked by uid 500); 19 Apr 2013 01:06:14 -0000 Delivered-To: apmail-hbase-issues-archive@hbase.apache.org Received: (qmail 47910 invoked by uid 500); 19 Apr 2013 01:06:14 -0000 Mailing-List: contact issues-help@hbase.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Delivered-To: mailing list issues@hbase.apache.org Received: (qmail 47901 invoked by uid 99); 19 Apr 2013 01:06:14 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 19 Apr 2013 01:06:14 +0000 Date: Fri, 19 Apr 2013 01:06:13 +0000 (UTC) From: "stack (JIRA)" To: issues@hbase.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (HBASE-6295) Possible performance improvement in client batch operations: presplit and send in background MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/HBASE-6295?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13635908#comment-13635908 ] stack commented on HBASE-6295: ------------------------------ This looks like AWS @nkeywal: Caused by: java.lang.IllegalArgumentException: java.net.UnknownHostException: ip-10-4-226-168 Always happens? (nice on the 25% improvement) > Possible performance improvement in client batch operations: presplit and send in background > -------------------------------------------------------------------------------------------- > > Key: HBASE-6295 > URL: https://issues.apache.org/jira/browse/HBASE-6295 > Project: HBase > Issue Type: Improvement > Components: Client, Performance > Affects Versions: 0.95.2 > Reporter: Nicolas Liochon > Assignee: Nicolas Liochon > Labels: noob > Attachments: 6295.v1.patch, 6295.v2.patch, 6295.v3.patch > > > today batch algo is: > {noformat} > for Operation o: List{ > add o to todolist > if todolist > maxsize or o last in list > split todolist per location > send split lists to region servers > clear todolist > wait > } > {noformat} > We could: > - create immediately the final object instead of an intermediate array > - split per location immediately > - instead of sending when the list as a whole is full, send it when there is enough data for a single location > It would be: > {noformat} > for Operation o: List{ > get location > add o to todo location.todolist > if (location.todolist > maxLocationSize) > send location.todolist to region server > clear location.todolist > // don't wait, continue the loop > } > send remaining > wait > {noformat} > It's not trivial to write if you add error management: retried list must be shared with the operations added in the todolist. But it's doable. > It's interesting mainly for 'big' writes -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira