public void setMergeCombineFunc(MergeInShuffle mergeInShuffle, ReducerCounters counters) {
	
	long inputRecsInPreviousMerges = 0;
	long outputRecsInPreviousMerges = 0;
	
	List<InMemoryShuffleMerge> list = mergeInShuffle.getInMemoryShuffleMerges();
	
	InMemoryShuffleMerge info = null;
	for(int i = 0; i < list.size(); i++) {
	    info = list.get(i);
	    
	    if(i != list.size() - 1) {
		inputRecsInPreviousMerges += info.getRecordsBeforeMergeAC();
		outputRecsInPreviousMerges += info.getRecordsAfterCombine();
	    }
	 
	}
	
	if(mergeCombineFunc != null && info != null) {
	    
	    InMemoryShuffleMerge lastMerge = list.get(list.size() - 1);
	    int ids[] = lastMerge.getSegMapperIds();
	    long recordsBeforeLastMerge = segsInShuffle.getRecordsBeforeLastMerge(ids);
	    
	    mergeCombineFunc.settCombineInputRecords(recordsBeforeLastMerge);
	    
	    mergeCombineFunc.setcCombineInputRecords(counters.getCombine_input_records() - inputRecsInPreviousMerges);
	    mergeCombineFunc.setcCombineOutputRecords(counters.getCombine_output_records() - outputRecsInPreviousMerges);
	    
	    mergeCombineFunc.setInputRecsInPreviousMerges(inputRecsInPreviousMerges);
	    
	}
    }