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)