Let me -1 on my own and finish the discussion thread first for now. Will
start rc2 later.

On Sun, Aug 30, 2026 at 10:29 AM Hyukjin Kwon <[email protected]> wrote:

> Ah that's fair. Let me raise a thread separately to see if there are more
> thoughts too but let me not pause this vote at the same time for now 👍
>
> On Sun, 30 Aug 2026 at 10:28, Ángel Álvarez Pascua <
> [email protected]> wrote:
>
>> +1 (non-binding)
>>
>> Thanks, that makes sense. I don’t expect there to be much objection. I
>> was mainly surprised that there hadn’t been a separate discussion before
>> the release vote, given the addition of the Python wrapper and new package.
>>
>>
>>
>> El dom, 30 ago 2026 a las 3:23, Hyukjin Kwon (<[email protected]>)
>> escribió:
>>
>>> It is the Rust Client, and the new one is a Python wrapper of the Rust
>>> client, which conceptually thought did not require an SPIP but rather a
>>> separate feature. If you feel like it has to be discussed separately, I can
>>> bring it up and pause the release vote for now.
>>>
>>> On Sun, 30 Aug 2026 at 10:20, Ángel Álvarez Pascua <
>>> [email protected]> wrote:
>>>
>>>> Could you please point me to the previous dev@ discussion or SPIP for
>>>> this proposal?
>>>>
>>>> I found the earlier discussion about creating the Spark Connect Rust
>>>> client repository, but not one covering the ground-up Rust rewrite and the
>>>> new pyspark-client-rust package. Given the scope and user-facing
>>>> nature of these changes, I would have expected them to be discussed before
>>>> reaching the release vote, possibly through the SPIP process.
>>>>
>>>> El dom, 30 ago 2026 a las 0:37, Hyukjin Kwon (<[email protected]>)
>>>> escribió:
>>>>
>>>>> Please vote on releasing the following candidate as Apache Spark
>>>>> Connect Rust
>>>>> Client 4.2.0.
>>>>>
>>>>> This is the *first* release of the ground-up Rust rewrite of the
>>>>> Spark Connect
>>>>> Python client (published to PyPI as pyspark-client-rust): a drop-in
>>>>> replacement
>>>>> for pyspark-client <https://pypi.org/project/pyspark-client/>, backed
>>>>> by a native Rust core instead of py4j/grpcio.
>>>>>
>>>>> The vote is open until Thursday, September 4, 2026, 5:00 PM PDT and
>>>>> passes if a majority of +1 PMC votes are cast, with a minimum of
>>>>> 3 +1 votes.
>>>>>
>>>>> [ ] +1 Release this package as Apache Spark Connect Rust Client 4.2.0
>>>>> [ ] -1 Do not release this package because …
>>>>>
>>>>> TAG:
>>>>> https://github.com/apache/spark-connect-rust/releases/tag/v4.2.0-rc1
>>>>> (commit: f77df70)
>>>>>
>>>>> RELEASE FILES (wheels + sdist, built and attached by GitHub Actions):
>>>>> https://github.com/apache/spark-connect-rust/releases/tag/v4.2.0-rc1
>>>>>
>>>>> DOCUMENTATION:
>>>>> https://apache.github.io/spark-connect-rust/
>>>>>
>>>>> LIST OF ISSUES:
>>>>> https://issues.apache.org/jira/projects/SPARK/versions/12357484
>>>>> HOW TO TRY IT — PYTHON (pip)
>>>>>
>>>>> The release attaches abi3 wheels (Linux x86_64/aarch64, macOS
>>>>> universal2,
>>>>> Windows x86_64; CPython 3.9+) plus a source distribution. Grab the
>>>>> wheel for
>>>>> your platform from the release page and install it directly, e.g.:
>>>>>
>>>>>   pip install 
>>>>> https://github.com/apache/spark-connect-rust/releases/download/v4.2.0-rc1/pyspark_client_rust-4.2.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
>>>>>
>>>>> Then use it exactly like PySpark. See if your existing workloads work
>>>>> with this.
>>>>> HOW TO TEST IT — RUST (cargo)
>>>>>
>>>>> The Rust crates are intentionally NOT on crates.io for a release
>>>>> candidate
>>>>> (crates.io is immutable; the crates are published there only when the
>>>>> release is
>>>>> finalized). Test against the tagged source instead:
>>>>>
>>>>>   # A) Pin a git dependency to the RC tag in your project's Cargo.toml:
>>>>>   [dependencies]
>>>>>   apache-spark-connect = { git = 
>>>>> "https://github.com/apache/spark-connect-rust";, tag = "v4.2.0-rc1" }
>>>>>
>>>>>   # B) Or build and run the crates' own tests from the tag:
>>>>>   git clone --branch v4.2.0-rc1 
>>>>> https://github.com/apache/spark-connect-rust
>>>>>   cd spark-connect-rust
>>>>>   cargo build --release
>>>>>   cargo test
>>>>>
>>>>> HIGHLIGHTS
>>>>>
>>>>>    - *Drop-in PySpark Connect Python API*, verified against real
>>>>>    PySpark 4.2.0 two
>>>>>    ways: the official PySpark test suite runs against this client,
>>>>>    and a
>>>>>    behavioral API-parity sweep compares the Python API surface
>>>>>    (functions and
>>>>>    DataFrame / Column / SparkSession / GroupedData / Window methods)
>>>>>    call-by-call
>>>>>    to PySpark.
>>>>>    - Spark Connect Rust API *full* coverage, including *Rust UDF*s
>>>>>    (docs: https://apache.github.io/spark-connect-rust/).
>>>>>    - *Native Rust transport* via tonic; cloudpickle vendored to match
>>>>>    upstream, so
>>>>>    no grpcio/py4j at runtime. and *native type conversion.*
>>>>>
>>>>> WHY DOES THE VERSION START AT 4.2.0?
>>>>>
>>>>> Even though this is the first release of the rewrite, the version
>>>>> starts at
>>>>> 4.2.0 to track the Apache Spark / PySpark version it targets. This (1)
>>>>> removes
>>>>> any ambiguity about which Spark version a given client is compatible
>>>>> with, and
>>>>> (2) lets PySpark users pip install pyspark-client-rust== exactly
>>>>> as they would pyspark-client, keeping the same versioning across both.
>>>>>
>>>>> Thanks,
>>>>> Hyukjin Kwon
>>>>>
>>>>>

Reply via email to