Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Incomplete
-
1.2.0, 1.3.0, 1.4.1
-
None
Description
Since HighlyCompressedMapOutputStatuses uses a bitmap for tracking empty blocks, its size is not bounded and thus Spark is still susceptible to "MapOutputTrackerMasterActor: Map output statuses
were 11141547 bytes which exceeds spark.akka.frameSize"-type errors, even in 1.2.0.
We needed to use a bitmap for tracking zero-sized blocks (see SPARK-3740; this isn't just a performance issue; it's necessary for correctness). This will require a bit more effort to fix, since we'll either have to find a way to use a fixed size / capped size encoding for MapOutputStatuses (which might require changes to let us fetch empty blocks safely) or figure out some other strategy for shipping these statues.