Zhengxi Li created MAPREDUCE-7310:
-------------------------------------
Summary: 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
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.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]