[
https://issues.apache.org/jira/browse/MAPREDUCE-7310?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Zhengxi Li updated MAPREDUCE-7310:
----------------------------------
Status: Patch Available (was: Open)
> Fix flaky test TestJobHistoryEventHandler.testSigTermedFunctionality
> --------------------------------------------------------------------
>
> Key: MAPREDUCE-7310
> URL: https://issues.apache.org/jira/browse/MAPREDUCE-7310
> Project: Hadoop Map/Reduce
> Issue Type: Bug
> Reporter: Zhengxi Li
> Priority: Minor
> Attachments: MAPREDUCE-7310.001.patch
>
>
> The test
> '{{org.apache.hadoop.mapreduce.jobhistory.TestJobHistoryEventHandler.testSigTermedFunctionality'}}
> is not idempotent and fails if run twice in the same JVM, because it
> pollutes state shared among tests. It may be good to clean this state
> pollution so that some other tests do not fail in the future due to the
> shared state polluted by this test.
> h3. Details
> Running `TestJobHistoryEventHandler.testSigTermedFunctionality` twice would
> result in the second run failing due to `NullPointerException`shown in the
> following:
> {noformat}
> java.lang.NullPointerException
> at
> org.apache.hadoop.mapreduce.jobhistory.JobHistoryEventHandler.serviceStop(JobHistoryEventHandler.java:460)
> at org.apache.hadoop.service.AbstractService.stop(AbstractService.java:221)
> at
> org.apache.hadoop.mapreduce.jobhistory.TestJobHistoryEventHandler.testSigTermedFunctionality(TestJobHistoryEventHandler.java:933)
> {noformat}
> The root cause of this is that running
> '{{TestJobHistoryEventHandler.testSigTermedFunctionality'}} results in some
> entries to be added to the static '{{JobHistoryEventHandler.fileMap'}}. The
> entries in the '{{fileMap'}} are not cleaned up when the test is done,
> resulting in a NullPointerException in the second run as the stale
> object(added in the first run) in the 'fileMap' is accessed.
>
> PR link: https://github.com/apache/hadoop/pull/2499
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]