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

Release kvoffsets and kvindices before going to merge phase

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • 1.2.0
    • None
    • task
    • Any Environment

    Description

      In org.apache.hadoop.mapred.MapTask.MapOutputBuffer.flush() method, we only released the kvbuffer before the merge phase (i.e., mergeParts()). Though kvindices and kvoffsets are small in many cases, we should release them theoretically before mergeParts().

      try

      { spillThread.interrupt(); spillThread.join(); }

      catch (InterruptedException e)

      { throw (IOException)new IOException("Spill failed" ).initCause(e); }

      // release sort buffer before the merge
      kvbuffer = null;
      mergeParts();
      Path outputPath = mapOutputFile.getOutputFile();
      fileOutputByteCounter.increment(rfs.getFileStatus(outputPath).getLen());
      }

      Attachments

        Activity

          People

            Unassigned Unassigned
            jerrylead Lijie Xu
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:

              Time Tracking

                Estimated:
                Original Estimate - 1h
                1h
                Remaining:
                Remaining Estimate - 1h
                1h
                Logged:
                Time Spent - Not Specified
                Not Specified