You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Ioan Eugen Stan (Commented) (JIRA)" <ji...@apache.org> on 2011/12/23 11:24:30 UTC

[jira] [Commented] (HBASE-4448) HBaseTestingUtilityFactory - pattern for re-using HBaseTestingUtility instances across unit tests

    [ https://issues.apache.org/jira/browse/HBASE-4448?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13175373#comment-13175373 ] 

Ioan Eugen Stan commented on HBASE-4448:
----------------------------------------

@Jesse 
We also use the MiniCluster with added conf settings, but they usually stay the same in one set of tests. At the end of the tests we kill the MiniCluster and restart it for another batch with different confs. 

I think it is quite hard to create a perfect testing utility that will avoid restarting the MiniCluster all the time. I also think that reducing the number of restarts on a per module basis is more practical. After all users shut down the MiniCluster to clean the tables for the new tests.

my 2cents. 
                
> 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, java_HBASE_4448.patch, java_HBASE_4448_v2.patch
>
>
> 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.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira