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); } } } }
public virtual void CloseInMemoryMergedFile(InMemoryMapOutput <K, V> mapOutput) { lock (this) { inMemoryMergedMapOutputs.AddItem(mapOutput); Log.Info("closeInMemoryMergedFile -> size: " + mapOutput.GetSize() + ", inMemoryMergedMapOutputs.size() -> " + inMemoryMergedMapOutputs.Count); } }