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 3EDE21074E for ; Wed, 26 Nov 2014 21:44:15 +0000 (UTC) Received: (qmail 67642 invoked by uid 500); 26 Nov 2014 21:44:15 -0000 Delivered-To: apmail-hbase-issues-archive@hbase.apache.org Received: (qmail 67604 invoked by uid 500); 26 Nov 2014 21:44:15 -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 67592 invoked by uid 99); 26 Nov 2014 21:44:15 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 26 Nov 2014 21:44:15 +0000 Date: Wed, 26 Nov 2014 21:44:14 +0000 (UTC) From: "Hudson (JIRA)" To: issues@hbase.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (HBASE-12128) Cache configuration and RpcController selection for Table in Connection 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-12128?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14226849#comment-14226849 ] Hudson commented on HBASE-12128: -------------------------------- FAILURE: Integrated in HBase-TRUNK #5826 (See [https://builds.apache.org/job/HBase-TRUNK/5826/]) HBASE-12128 Cache configuration and RpcController selection for Table in Connection (enis: rev 54627ea6dc2c42fe0c67e34f69e42bd38386879e) * hbase-client/src/main/java/org/apache/hadoop/hbase/client/HTable.java * hbase-client/src/main/java/org/apache/hadoop/hbase/client/ConnectionManager.java * hbase-client/src/main/java/org/apache/hadoop/hbase/client/TableConfiguration.java > Cache configuration and RpcController selection for Table in Connection > ----------------------------------------------------------------------- > > Key: HBASE-12128 > URL: https://issues.apache.org/jira/browse/HBASE-12128 > Project: HBase > Issue Type: Sub-task > Affects Versions: 1.0.0, 2.0.0 > Reporter: Andrew Purtell > Assignee: Stephen Yuan Jiang > Fix For: 2.0.0, 0.99.2 > > Attachments: HBASE-12128.v1-1.0.patch, HBASE-12128.v1-2.0.patch, HBASE-12128.v2-2.0.patch > > Original Estimate: 120h > Time Spent: 72h > Remaining Estimate: 48h > > Creating Table instances should be lightweight. Apps that manage their own Connections are expected to create Tables on demand for each interaction. However we look up values from Hadoop Configuration when constructing Table objects for storing to some of its fields. Configuration is a heavyweight registry that does a lot of string operations and regex matching. Method calls into Configuration account for 48.25% of CPU time when creating the HTable object in 0.98. Another ~48% of CPU is spent constructing the desired RpcController object via reflection in 0.98. Together this can account for ~20% of total on-CPU time of the client. See parent issue for more detail. > We are using Connection like a factory for Table. We should cache configuration for Table in Connection. We should also create by reflection once and cache the desired RpcController object, and clone it for new Tables. -- This message was sent by Atlassian JIRA (v6.3.4#6332)