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

ASF GitHub Bot commented on MAPREDUCE-7475:
-------------------------------------------

kaiyaok2 opened a new pull request, #6785:
URL: https://github.com/apache/hadoop/pull/6785

   ### Description of PR
   As described in https://issues.apache.org/jira/browse/MAPREDUCE-7475: 2 
tests are not idempotent and fails upon repeated execution within the same JVM 
instance due to self-induced state pollution. Specifically, these tests try to 
make the directory `TEST_ROOT_DIR` and write to it. The tests do not clean up 
(remove) the directory after execution. Therefore, in the second execution, 
`TEST_ROOT_DIR` would already exist and the exception `Could not create test 
dir` would be thrown. The tests shall be fixed as unit tests shall be 
idempotent.
   
   Below are the 2 non-idempotent tests:
   
   * `org.apache.hadoop.mapred.TestOldCombinerGrouping.testCombiner`
   * `org.apache.hadoop.mapreduce.TestNewCombinerGrouping.testCombiner`
   
   ##Sample Failure Message for 
`org.apache.hadoop.mapreduce.TestNewCombinerGrouping.testCombiner` (in the 2nd 
run of the test):
   ```
   java.lang.RuntimeException: Could not create test dir: 
/home/kaiyaok2/NIOExperiments/github.com/apache/hadoop/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/build/test/data/e4ee268d-2946-43a2-93b5-f2b4ac647279
           at 
org.apache.hadoop.mapreduce.TestNewCombinerGrouping.testCombiner(TestNewCombinerGrouping.java:109)
           at java.base/java.lang.reflect.Method.invoke(Method.java:568)
   ```
   
   ### How was this patch tested?
   After the patch, rerunning the tests in the same JVM does not produce any 
exceptions.
   
   ### Code changes:
   Check if the test directory already exists (and delete it if so) before 
calling `mkdirs()`.
   




> 2 tests are non-idempotent (passes in the first run but fails in repeated 
> runs in the same JVM)
> -----------------------------------------------------------------------------------------------
>
>                 Key: MAPREDUCE-7475
>                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-7475
>             Project: Hadoop Map/Reduce
>          Issue Type: Bug
>         Environment: Ubuntu 22.04, Java 17
>            Reporter: Kaiyao Ke
>            Priority: Major
>   Original Estimate: 10m
>  Remaining Estimate: 10m
>
> 2 tests are not idempotent and fails upon repeated execution within the same 
> JVM instance due to self-induced state pollution. Specifically, these tests 
> try to make the directory TEST_ROOT_DIR and write to it. The tests do not 
> clean up (remove) the directory after execution. Therefore, in the second 
> execution, TEST_ROOT_DIR would already exist and the exception `Could not 
> create test dir` would be thrown. Below are the 2 non-idempotent tests:
>  * org.apache.hadoop.mapred.TestOldCombinerGrouping.testCombiner
>  * org.apache.hadoop.mapreduce.TestNewCombinerGrouping.testCombiner



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
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