Yang Jie created SPARK-58702:
--------------------------------
Summary: Assign a name to the error condition
_LEGACY_ERROR_TEMP_3033,3035-3037
Key: SPARK-58702
URL: https://issues.apache.org/jira/browse/SPARK-58702
Project: Spark
Issue Type: Sub-task
Components: Spark Core
Affects Versions: 5.0.0
Reporter: Yang Jie
Convert the four remaining {{_LEGACY_ERROR_TEMP_*}} conditions in
{{SparkCoreErrors}}' storage and shuffle group, continuing the cleanup under
SPARK-37935.
Three get user-facing names; one becomes an internal error:
* {{_LEGACY_ERROR_TEMP_3033}} ->
{{UNABLE_TO_REGISTER_WITH_EXTERNAL_SHUFFLE_SERVICE}} (SQLSTATE 58030)
* {{_LEGACY_ERROR_TEMP_3035}} -> {{SHUFFLE_BLOCK_MIGRATION_NOT_SUPPORTED}}
(SQLSTATE 0A000)
* {{_LEGACY_ERROR_TEMP_3036}} -> {{SparkException.internalError(category =
"STORAGE")}}, JSON entry deleted
* {{_LEGACY_ERROR_TEMP_3037}} -> {{LOCAL_BLOCK_DATA_NOT_FOUND}} (SQLSTATE 58030)
{{_3036}} gets no name because the condition cannot survive to a reader. It is
thrown from the {{StreamCallbackWithID.onComplete}} that
{{BlockManager.putBlockDataAsStream}} returns; {{TransportRequestHandler}}
wraps the exception in a plain {{IOException}} and answers {{RpcFailure}}
carrying only a stack-trace string, which the sender rebuilds as a
{{RuntimeException}}. The condition, SQLSTATE and message parameters are gone
before anyone sees them. {{NettyBlockRpcServer.receive}} already reports the
same "store declined the block" outcome as an internal error when it handles
the non-streaming {{UploadBlock}} message.
Two message defects are fixed along the way. {{_3035}} interpolated a
{{ShuffleBlockResolver}} that overrides no {{toString}}, so it rendered an
identity hash instead of the class name. {{_3033}} had a stray space before its
colon.
This is the last batch of the {{_3021-3042}} cluster. {{_3028}} is left out on
purpose: its builder is a bare {{<errorMsg>}} passthrough whose single call
site both duplicates the {{taskSet.abort}} two lines above it and has its throw
swallowed, so converting it needs a design decision of its own.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]