Description
The assertion below inĀ MapOutoutputTracker.getMapSizesByExecutorId is not guaranteed
assert(mapSizesByExecutorId.enableBatchFetch == true)
The reason is during some stage retry cases, the shuffleDependency.shuffleMergeEnabled is set to false, but there will be mergeStatus since the Driver has collected the merged status for its shuffle dependency. If this is the case, the current implementation would set the enableBatchFetch to false, since there are mergeStatus.
Details can be found here:
We should improve the implementation here.