Return-Path: Delivered-To: apmail-hadoop-hbase-dev-archive@minotaur.apache.org Received: (qmail 37448 invoked from network); 29 Jun 2009 21:03:01 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 29 Jun 2009 21:03:01 -0000 Received: (qmail 93762 invoked by uid 500); 29 Jun 2009 21:03:11 -0000 Delivered-To: apmail-hadoop-hbase-dev-archive@hadoop.apache.org Received: (qmail 93732 invoked by uid 500); 29 Jun 2009 21:03:11 -0000 Mailing-List: contact hbase-dev-help@hadoop.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: hbase-dev@hadoop.apache.org Delivered-To: mailing list hbase-dev@hadoop.apache.org Received: (qmail 93722 invoked by uid 99); 29 Jun 2009 21:03:11 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 29 Jun 2009 21:03:11 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.140] (HELO brutus.apache.org) (140.211.11.140) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 29 Jun 2009 21:03:08 +0000 Received: from brutus (localhost [127.0.0.1]) by brutus.apache.org (Postfix) with ESMTP id ACF66234C004 for ; Mon, 29 Jun 2009 14:02:47 -0700 (PDT) Message-ID: <515635418.1246309367693.JavaMail.jira@brutus> Date: Mon, 29 Jun 2009 14:02:47 -0700 (PDT) From: "Jonathan Gray (JIRA)" To: hbase-dev@hadoop.apache.org Subject: [jira] Created: (HBASE-1590) Extend TestHeapSize and ClassSize to do "deep" sizing of Objects MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 X-Virus-Checked: Checked by ClamAV on apache.org Extend TestHeapSize and ClassSize to do "deep" sizing of Objects ---------------------------------------------------------------- Key: HBASE-1590 URL: https://issues.apache.org/jira/browse/HBASE-1590 Project: Hadoop HBase Issue Type: Improvement Affects Versions: 0.20.0 Reporter: Jonathan Gray Fix For: 0.20.0 As discussed in HBASE-1554 there is a bit of a disconnect between how ClassSize calculates the heap size and how we need to calculate heap size in our implementations. For example, the LRU block cache can be sized via ClassSize, but it is a shallow sizing. There is a backing ConcurrentHashMap that is the largest memory consumer. However, ClassSize only counts that as a single reference. But in our heapSize() reporting, we want to include *everything* within that Object. This issue is to resolve that dissonance. We may need to create an additional ClassSize.estimateDeep(), we may need to rethink our HeapSize interface, or maybe just leave it as is. The two primary goals of all this testing is to 1) ensure that if something is changed and the sizing is not updated, our tests fail, and 2) ensure our sizing is as accurate as possible. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.