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 566BE186B6 for ; Thu, 4 Feb 2016 06:26:48 +0000 (UTC) Received: (qmail 30796 invoked by uid 500); 4 Feb 2016 06:26:40 -0000 Delivered-To: apmail-hbase-issues-archive@hbase.apache.org Received: (qmail 30313 invoked by uid 500); 4 Feb 2016 06:26:40 -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 30030 invoked by uid 99); 4 Feb 2016 06:26:40 -0000 Received: from arcas.apache.org (HELO arcas) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 04 Feb 2016 06:26:40 +0000 Received: from arcas.apache.org (localhost [127.0.0.1]) by arcas (Postfix) with ESMTP id ED46A2C1F62 for ; Thu, 4 Feb 2016 06:26:39 +0000 (UTC) Date: Thu, 4 Feb 2016 06:26:39 +0000 (UTC) From: "ramkrishna.s.vasudevan (JIRA)" To: issues@hbase.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Updated] (HBASE-15203) Reduce garbage created by path.toString() during Checksum verification 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-15203?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] ramkrishna.s.vasudevan updated HBASE-15203: ------------------------------------------- Attachment: HBASE-15203_branch-1.1.patch In branch-1.1 am not sure if this is going to be a major problem because we are not passing the path name for the checksum calculation. So still we need this in branch-1.1? [~ndimiduk]? > Reduce garbage created by path.toString() during Checksum verification > ---------------------------------------------------------------------- > > Key: HBASE-15203 > URL: https://issues.apache.org/jira/browse/HBASE-15203 > Project: HBase > Issue Type: Sub-task > Components: regionserver > Reporter: ramkrishna.s.vasudevan > Assignee: ramkrishna.s.vasudevan > Priority: Minor > Fix For: 2.0.0 > > Attachments: HBASE-15203.patch, HBASE-15203_1.patch, HBASE-15203_2.patch, HBASE-15203_branch-1.1.patch > > > When we try to read a block we do checksum verification for which we need the file name in which the block belongs to. So we do Path.toString() every time. This seems to create around 163MB of char[] that is garbage collected in a simple scan run. It is also visible in writes but the impact is lesser. In overall write/read profile the top 2 factors are byte[] and char[]. This toString() can easily be avoided and reduce its share from the total. To make it more precise in 1 min of profiling, among the 1.8G of garbage created by StringBuilder.toString - this path.toString() was contributing around 3.5%. After the patch this is totally not there. -- This message was sent by Atlassian JIRA (v6.3.4#6332)