[ https://issues.apache.org/jira/browse/HBASE-12128?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14242180#comment-14242180 ]
Hudson commented on HBASE-12128: -------------------------------- FAILURE: Integrated in HBase-0.98-on-Hadoop-1.1 #701 (See [https://builds.apache.org/job/HBase-0.98-on-Hadoop-1.1/701/]) HBASE-12604 Backport HBASE-12128 (Cache configuration and RpcController selection for Table in Connection) to 0.98 (apurtell: rev 4c1a31f289ca76a3196e5456108858e519e9c53e) * hbase-client/src/main/java/org/apache/hadoop/hbase/client/TableConfiguration.java * hbase-client/src/main/java/org/apache/hadoop/hbase/client/HConnectionManager.java * hbase-client/src/main/java/org/apache/hadoop/hbase/client/HTable.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)