Uploaded image for project: 'Hadoop Map/Reduce'
  1. Hadoop Map/Reduce
  2. MAPREDUCE-7310

Clear the fileMap in JHEventHandlerForSigtermTest

    XMLWordPrintableJSON

Details

    • Reviewed

    Description

      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.

      Details

      Running `TestJobHistoryEventHandler.testSigTermedFunctionality` twice would result in the second run failing due to `NullPointerException`shown in the following:

       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)
      

      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

      Attachments

        1. MAPREDUCE-7310.001.patch
          1 kB
          Zhengxi Li

        Issue Links

          Activity

            People

              lzx404243 Zhengxi Li
              lzx404243 Zhengxi Li
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 40m
                  40m