pan3793 commented on PR #57831: URL: https://github.com/apache/spark/pull/57831#issuecomment-5284768317
@nchammas The compat layer might be a good idea and would generalize beyond this rename. Two things make it feasible without a protocol change: Scala and Python clients already send `spark/<version>` in `client_type` (since 4.0), and all server error serialization funnels through the two paths in `ErrorUtils` (`buildStatusFromThrowable` and the `FetchErrorDetails` conversion). The layer would rewrite both the `errorClass` metadata and the `[CONDITION]` message prefix, keyed on client version, with a mapping table that starts with this rename. Two caveats: `client_type` is documented as logging-only, so interpreting it means amending that contract, and a custom user agent without the version token would silently skip the rewrite; and the layer must ship in the same release as the rename, otherwise the released server can never be fixed for old clients. That is a bigger piece than this PR. My preference: land the `sqlState` override as the one-off exception now to unblock `08003`, and design and discuss the compat layer independently in the future. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
