Xianming Lei created SPARK-59403:
------------------------------------
Summary: Allow empty serialized payloads for deserialized
in-memory RDD blocks
Key: SPARK-59403
URL: https://issues.apache.org/jira/browse/SPARK-59403
Project: Spark
Issue Type: Bug
Components: Spark Core
Affects Versions: 4.1.3
Reporter: Xianming Lei
Remote RDD block fetch currently treats a non-zero {{BlockStatus}} size
together with a zero-byte response as an invalid block:
{{if (blockSize > 0 && buf.size() == 0)}}
This assumes that {{BlockStatus.memSize}} is the serialized payload size. That
assumption is invalid for deserialized in-memory blocks.
For a deserialized block, {{memSize}} is Spark's estimated JVM heap footprint
of the cached objects. An empty iterator can still occupy heap memory (for
example, an empty array/object has object-header overhead), while its
serialized network representation is legitimately zero bytes. Therefore, a
remote fetch of an empty deserialized RDD partition is incorrectly rejected.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]