Beispiel #1
0
 public virtual void CloseInMemoryFile(InMemoryMapOutput <K, V> mapOutput)
 {
     lock (this)
     {
         inMemoryMapOutputs.AddItem(mapOutput);
         Log.Info("closeInMemoryFile -> map-output of size: " + mapOutput.GetSize() + ", inMemoryMapOutputs.size() -> "
                  + inMemoryMapOutputs.Count + ", commitMemory -> " + commitMemory + ", usedMemory ->"
                  + usedMemory);
         commitMemory += mapOutput.GetSize();
         // Can hang if mergeThreshold is really low.
         if (commitMemory >= mergeThreshold)
         {
             Log.Info("Starting inMemoryMerger's merge since commitMemory=" + commitMemory + " > mergeThreshold="
                      + mergeThreshold + ". Current usedMemory=" + usedMemory);
             Sharpen.Collections.AddAll(inMemoryMapOutputs, inMemoryMergedMapOutputs);
             inMemoryMergedMapOutputs.Clear();
             inMemoryMerger.StartMerge(inMemoryMapOutputs);
             commitMemory = 0L;
         }
         // Reset commitMemory.
         if (memToMemMerger != null)
         {
             if (inMemoryMapOutputs.Count >= memToMemMergeOutputsThreshold)
             {
                 memToMemMerger.StartMerge(inMemoryMapOutputs);
             }
         }
     }
 }
Beispiel #2
0
 public virtual void CloseInMemoryMergedFile(InMemoryMapOutput <K, V> mapOutput)
 {
     lock (this)
     {
         inMemoryMergedMapOutputs.AddItem(mapOutput);
         Log.Info("closeInMemoryMergedFile -> size: " + mapOutput.GetSize() + ", inMemoryMergedMapOutputs.size() -> "
                  + inMemoryMergedMapOutputs.Count);
     }
 }