[ 
https://issues.apache.org/jira/browse/HADOOP-13113?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Chris Nauroth updated HADOOP-13113:
-----------------------------------
    Attachment: HADOOP-13113.001.patch

I'm attaching patch v001.  This uses the same parallel test execution 
techniques that have been effective in hadoop-common and hadoop-hdfs.  I 
updated pom.xml to add the {{parallel-tests}} profile and changed some test 
code to generate testing paths based on the Surefire fork number, so that 
they're guaranteed to be isolated from each other.  HADOOP-12801 is a 
pre-requisite for this patch.

There are some limitations to this approach.  Tests that cover root directory 
access, multi-part upload, or YARN usage would run into conflicts on shared 
resources.  To handle this, I've moved those tests to a separate Surefire 
execution step, which runs sequentially instead of parallelized.  A future 
improvement could be to refactor tests related to root out of 
{{FileSystemContractBaseTest}}, so that the non-root tests in that suite can 
run in parallel.  {{TestS3AFileSystemContract}} takes ~90 seconds to run, so it 
would be nice to parallelize that with other suites.  I chose not to step 
outside hadoop-aws for the scope of the current patch though.

While I was editing pom.xml, I also removed an unused dependency on Jackson.  
This change is backwards-compatible, because clients who had been relying on 
receiving Jackson via transitive dependency through hadoop-aws will continue to 
receive it through the dependency chain hadoop-aws -> hadoop-common -> Jackson.

In my environment, plain {{mvn test}} runs in ~30 minutes, and {{mvn 
-Pparallel-tests test}} runs in ~13 minutes.

[[email protected]], would you please review when you get a chance?

> Enable parallel test execution for hadoop-aws.
> ----------------------------------------------
>
>                 Key: HADOOP-13113
>                 URL: https://issues.apache.org/jira/browse/HADOOP-13113
>             Project: Hadoop Common
>          Issue Type: Improvement
>          Components: test
>            Reporter: Chris Nauroth
>            Assignee: Chris Nauroth
>         Attachments: HADOOP-13113.001.patch
>
>
> The full hadoop-aws test suite takes ~30 minutes to execute.  The tests spend 
> most of their time blocked on network I/O with the S3 back-end, but they 
> don't saturate the bandwidth of the NIC.  We can improve overall execution 
> time by enabling parallel test execution.



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

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to