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

Yang Chen updated MAPREDUCE-7361:
---------------------------------
    Description: 
h2. What is the purpose of this change

This PR is to clean the polluted shared status among the 3 tests: 
{code:java}
Test1: 
org.apache.hadoop.mapred.TestTaskProgressReporter.testBytesWrittenRespectingLimit
Test2: org.apache.hadoop.mapred.TestTaskProgressReporter.testScratchDirSize
Test3: org.apache.hadoop.mapred.TestTaskProgressReporter.testTaskProgress{code}
Test1 and Test2 pollute the shared status with Test3, which can make test3 
fail. It may be better to clean state pollutions so that some other tests won't 
fail in the future due to the shared state polluted by this test.
h2. Reproduce the test failures

Run the tests in the same JVM in the following orders:
 * Test1 and Test3
 * Test2 and Test3

h2. Expected result

The tests should run successfully when multiple tests that use this shared 
state are run in the same JVM.
h2. Actual result
 * Run Test1 and Test3, Test3 fails:

{code:java}
 [ERROR] TestTaskProgressReporter.testTaskProgress:267 expected:<[2]> but 
was:<[3]>{code}
 * Run Test2 and Test3, Test3 fails:

{code:java}
 [ERROR] TestTaskProgressReporter.testTaskProgress:267 expected:<[2]> but 
was:<[11]>{code}
h2. Fix

Clean the value of {{statusUpdateTimes}} to 0 at the start of Test3 to clean 
the pollution from Test1 and Test2.

Link to PR: https://github.com/apache/hadoop/pull/3298

  was:
h2. What is the purpose of this change

This PR is to clean the polluted shared status among the 3 tests: 
{code:java}
Test1: 
org.apache.hadoop.mapred.TestTaskProgressReporter.testBytesWrittenRespectingLimit
Test2: org.apache.hadoop.mapred.TestTaskProgressReporter.testScratchDirSize
Test3: org.apache.hadoop.mapred.TestTaskProgressReporter.testTaskProgress{code}
Test1 and Test2 pollute the shared status with Test3, which can make test3 
fail. It may be better to clean state pollutions so that some other tests won't 
fail in the future due to the shared state polluted by this test.
h2. Reproduce the test failures

Run the tests in the same JVM in the following orders:
 * Test1 and Test3
 * Test2 and Test3

h2. Expected result

The tests should run successfully when multiple tests that use this shared 
state are run in the same JVM.
h2. Actual result
 * Run Test1 and Test3, Test3 fails:

{code:java}
 [ERROR] TestTaskProgressReporter.testTaskProgress:267 expected:<[2]> but 
was:<[3]>{code}
 * Run Test2 and Test3, Test3 fails:

{code:java}
 [ERROR] TestTaskProgressReporter.testTaskProgress:267 expected:<[2]> but 
was:<[11]>{code}
h2. Fix

Clean the value of {{statusUpdateTimes}} to 0 at the start of Test3 to clean 
the pollution from Test1 and Test2.


> Clean shared state pollution to avoid flaky tests
> -------------------------------------------------
>
>                 Key: MAPREDUCE-7361
>                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-7361
>             Project: Hadoop Map/Reduce
>          Issue Type: Bug
>            Reporter: Yang Chen
>            Priority: Minor
>              Labels: pull-request-available
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> h2. What is the purpose of this change
> This PR is to clean the polluted shared status among the 3 tests: 
> {code:java}
> Test1: 
> org.apache.hadoop.mapred.TestTaskProgressReporter.testBytesWrittenRespectingLimit
> Test2: org.apache.hadoop.mapred.TestTaskProgressReporter.testScratchDirSize
> Test3: 
> org.apache.hadoop.mapred.TestTaskProgressReporter.testTaskProgress{code}
> Test1 and Test2 pollute the shared status with Test3, which can make test3 
> fail. It may be better to clean state pollutions so that some other tests 
> won't fail in the future due to the shared state polluted by this test.
> h2. Reproduce the test failures
> Run the tests in the same JVM in the following orders:
>  * Test1 and Test3
>  * Test2 and Test3
> h2. Expected result
> The tests should run successfully when multiple tests that use this shared 
> state are run in the same JVM.
> h2. Actual result
>  * Run Test1 and Test3, Test3 fails:
> {code:java}
>  [ERROR] TestTaskProgressReporter.testTaskProgress:267 expected:<[2]> but 
> was:<[3]>{code}
>  * Run Test2 and Test3, Test3 fails:
> {code:java}
>  [ERROR] TestTaskProgressReporter.testTaskProgress:267 expected:<[2]> but 
> was:<[11]>{code}
> h2. Fix
> Clean the value of {{statusUpdateTimes}} to 0 at the start of Test3 to clean 
> the pollution from Test1 and Test2.
> Link to PR: https://github.com/apache/hadoop/pull/3298



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: mapreduce-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: mapreduce-issues-h...@hadoop.apache.org

Reply via email to