You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@spark.apache.org by "Yang Jie (Jira)" <ji...@apache.org> on 2026/07/20 15:08:00 UTC
[jira] [Created] (SPARK-58223) SparkSession.Builder.classic() builds a Connect session instead of a Classic one
Yang Jie created SPARK-58223:
--------------------------------
Summary: SparkSession.Builder.classic() builds a Connect session instead of a Classic one
Key: SPARK-58223
URL: https://issues.apache.org/jira/browse/SPARK-58223
Project: Spark
Issue Type: Bug
Components: SQL
Affects Versions: 4.1.2
Reporter: Yang Jie
`SparkSession.Builder.classic()` passes `CONNECT_COMPANION` to `mode(...)`, identical to `connect()`:
{code:scala}
def classic(): this.type = mode(CONNECT_COMPANION)
def connect(): this.type = mode(CONNECT_COMPANION)
{code}
`companion` drives `builder()` (`companion.builder()`), so on a classpath with both implementations, `SparkSession.builder().classic().getOrCreate()` builds a Connect session rather than a Classic one. The config-key path already maps correctly (`API_MODE_CLASSIC => CLASSIC_COMPANION`), and `CLASSIC_COMPANION` is defined, so the fix is to have `classic()` pass `CLASSIC_COMPANION`.
Introduced by SPARK-49700 (unified Scala interface for Connect and Classic); present since 4.1.0. There was no test covering the `classic()` / `connect()` mode selectors, which is why it went unnoticed.
Fix: `classic()` should call `mode(CLASSIC_COMPANION)`, plus regression coverage for both mode selectors in `SparkSessionBuilderImplementationBindingSuite`.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@spark.apache.org
For additional commands, e-mail: issues-help@spark.apache.org