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 539091942F for ; Tue, 22 Mar 2016 17:48:32 +0000 (UTC) Received: (qmail 25019 invoked by uid 500); 22 Mar 2016 17:48:26 -0000 Delivered-To: apmail-hbase-issues-archive@hbase.apache.org Received: (qmail 24756 invoked by uid 500); 22 Mar 2016 17:48:25 -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 24449 invoked by uid 99); 22 Mar 2016 17:48:25 -0000 Received: from arcas.apache.org (HELO arcas) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 22 Mar 2016 17:48:25 +0000 Received: from arcas.apache.org (localhost [127.0.0.1]) by arcas (Postfix) with ESMTP id A85F92C1F6E for ; Tue, 22 Mar 2016 17:48:25 +0000 (UTC) Date: Tue, 22 Mar 2016 17:48:25 +0000 (UTC) From: "stack (JIRA)" To: issues@hbase.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (HBASE-15493) Default ArrayList size may not be optimal for Mutation 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-15493?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15206874#comment-15206874 ] stack commented on HBASE-15493: ------------------------------- Agreed user will not know what to do w/ this new API "Save an unknown and unmeasurable amount of resources serverside by setting this value... " This is not the sort of stuff we should be bothering our users with. Before you know, a mythology will build up that playing with this setting is the difference between cluster life and death. Lets just do the work serverside for the user and not bother them with such minuitae. > Default ArrayList size may not be optimal for Mutation > ------------------------------------------------------ > > Key: HBASE-15493 > URL: https://issues.apache.org/jira/browse/HBASE-15493 > Project: HBase > Issue Type: Improvement > Components: Client, regionserver > Affects Versions: 2.0.0 > Reporter: Vladimir Rodionov > Assignee: Vladimir Rodionov > Fix For: 2.0.0 > > Attachments: HBASE-15493-v1.patch, HBASE-15493-v2.patch > > > {code} > List getCellList(byte[] family) { > List list = this.familyMap.get(family); > if (list == null) { > list = new ArrayList(); > } > return list; > } > {code} > Creates list of size 10, this is up to 80 bytes per column family in mutation object. > Suggested: > {code} > List getCellList(byte[] family) { > List list = this.familyMap.get(family); > if (list == null) { > list = new ArrayList(CELL_LIST_INITIAL_CAPACITY); > } > return list; > } > {code} > CELL_LIST_INITIAL_CAPACITY = 2 in the patch, this is debatable. For mutation where every CF has 1 cell, this gives decent reduction in memory allocation rate in both client and server during write workload. ~2%, not a big number, but as I said, already, memory optimization will include many small steps. -- This message was sent by Atlassian JIRA (v6.3.4#6332)