sqoop-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jarek Jarcec Cecho (JIRA)" <j...@apache.org>
Subject [jira] [Created] (SQOOP-2159) Sqoop2: Use BeforeSuite/AfterSuite for startHadoop/stopHadoop in integration tests
Date Sun, 01 Mar 2015 04:44:04 GMT
Jarek Jarcec Cecho created SQOOP-2159:
-----------------------------------------

             Summary: Sqoop2: Use BeforeSuite/AfterSuite for startHadoop/stopHadoop in integration
tests
                 Key: SQOOP-2159
                 URL: https://issues.apache.org/jira/browse/SQOOP-2159
             Project: Sqoop
          Issue Type: Bug
    Affects Versions: 1.99.5
            Reporter: Jarek Jarcec Cecho
            Assignee: Jarek Jarcec Cecho
             Fix For: 1.99.6


I've noticed that {{BeforeClass}} annotation in test-ng is behaving slightly differently than
I was expecting. For most integration tests it behaves as anticipated - it will run before
any test methods inside any test class. However when it's used with {{@DataProvider}} it will
be run for every parametrized call. This means that for example {{PartitionerTest}} will initialize
the {{HadoopMiniCluster}} on all 20 executions, which is adding to the slowness of this test.

Test-ng have additional annotation called {{@BeforeSuite}} that will run only once even if
given test class is using {{@DataProvider}} and hence I would suggest to use it for {{startHadoop()}}
method. And similarly {{@AfterSuite}} for {{stopHadoop()}}.

I did not measure impact on {{PartitionerTest}}, but making this change for other integration
test that I'm writing got the execution from 10 down to 3 minutes.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message