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 F07CA75BB for ; Thu, 22 Sep 2011 20:38:47 +0000 (UTC) Received: (qmail 40493 invoked by uid 500); 22 Sep 2011 20:38:47 -0000 Delivered-To: apmail-hbase-issues-archive@hbase.apache.org Received: (qmail 40466 invoked by uid 500); 22 Sep 2011 20:38:47 -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 40458 invoked by uid 99); 22 Sep 2011 20:38:47 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 22 Sep 2011 20:38:47 +0000 X-ASF-Spam-Status: No, hits=-2000.5 required=5.0 tests=ALL_TRUSTED,RP_MATCHES_RCVD X-Spam-Check-By: apache.org Received: from [140.211.11.116] (HELO hel.zones.apache.org) (140.211.11.116) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 22 Sep 2011 20:38:46 +0000 Received: from hel.zones.apache.org (hel.zones.apache.org [140.211.11.116]) by hel.zones.apache.org (Postfix) with ESMTP id 28AE1A9EDD for ; Thu, 22 Sep 2011 20:38:26 +0000 (UTC) Date: Thu, 22 Sep 2011 20:38:26 +0000 (UTC) From: "Doug Meil (JIRA)" To: issues@hbase.apache.org Message-ID: <342607997.3554.1316723906163.JavaMail.tomcat@hel.zones.apache.org> In-Reply-To: <1778746808.45849.1316522049057.JavaMail.tomcat@hel.zones.apache.org> Subject: [jira] [Commented] (HBASE-4448) HBaseTestingUtilityFactory - pattern for re-using HBaseTestingUtility instances across unit tests 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-4448?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13112884#comment-13112884 ] Doug Meil commented on HBASE-4448: ---------------------------------- I agree that some tests will need special configuration for special situations. But based on the sheet, I think there is still a benefit in going this route. There are still 39 MiniCluster instances that could be shared between tests, and that's not even considering MiniZk instances which could also be shared. That's roughly 10 or 11 minutes of extra startup & teardown time right there, and we're just getting started. I think it might be worth reviewing the tests in terms of what the tests need vs. what they were coded for, especially with Client and REST packages. Does the REST unit test really need a MiniCluster with 3 slaves? I would hazard a guess that there was some copy-paste going on. There isn't any single thing that can fix the build, but I still think this approach seems like a reasonable start. > HBaseTestingUtilityFactory - pattern for re-using HBaseTestingUtility instances across unit tests > ------------------------------------------------------------------------------------------------- > > Key: HBASE-4448 > URL: https://issues.apache.org/jira/browse/HBASE-4448 > Project: HBase > Issue Type: Improvement > Reporter: Doug Meil > Assignee: Doug Meil > Priority: Minor > Attachments: HBaseTestingUtilityFactory.java, hbase_hbaseTestingUtility_uses_2011_09_22.xlsx > > > Setting up and tearing down HBaseTestingUtility instances in unit tests is very expensive. On my MacBook it takes about 10 seconds to set up a MiniCluster, and 7 seconds to tear it down. When multiplied by the number of test classes that use this facility, that's a lot of time in the build. > This factory assumes that the JVM is being re-used across test classes in the build, otherwise this pattern won't work. > I don't think this is appropriate for every use, but I think it can be applicable in a great many cases - especially where developers just want a simple MiniCluster with 1 slave. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira