Skip to content

Conversation

@dongjoon-hyun
Copy link
Member

@dongjoon-hyun dongjoon-hyun commented Nov 10, 2025

What changes were proposed in this pull request?

This PR aims to upgrade cloudpickle to 3.1.2.

Why are the changes needed?

To support Python 3.14 properly.

Does this PR introduce any user-facing change?

No, Python 3.14 support is not announced yet.

How was this patch tested?

Pass the CIs.

Was this patch authored or co-authored using generative AI tooling?

No.

@dongjoon-hyun
Copy link
Member Author

Could you review this, @HyukjinKwon and @zhengruifeng ?

@dongjoon-hyun dongjoon-hyun changed the title [SPARK-54269][PYTHON] Upgrade cloudpickle to 3.1.2 [SPARK-54269][PYTHON] Upgrade cloudpickle to 3.1.2 for Python 3.14 Nov 10, 2025
@dongjoon-hyun
Copy link
Member Author

Thank you, @zhengruifeng .

@dongjoon-hyun
Copy link
Member Author

Thank you, @LuciferYang

dongjoon-hyun added a commit that referenced this pull request Nov 10, 2025
### What changes were proposed in this pull request?

This PR aims to upgrade `cloudpickle` to 3.1.2.

### Why are the changes needed?

To support Python 3.14 properly.
- https://github.com/cloudpipe/cloudpickle/releases/tag/v3.1.2
- https://github.com/cloudpipe/cloudpickle/blob/master/CHANGES.md#312

    > Fix pickling of abstract base classes containing type annotations for Python 3.14. (cloudpipe/cloudpickle#578)

### Does this PR introduce _any_ user-facing change?

No, Python 3.14 support is not announced yet.

### How was this patch tested?

Pass the CIs.

### Was this patch authored or co-authored using generative AI tooling?

No.

Closes #52964 from dongjoon-hyun/SPARK-54269.

Authored-by: Dongjoon Hyun <[email protected]>
Signed-off-by: Dongjoon Hyun <[email protected]>
(cherry picked from commit 9754e17)
Signed-off-by: Dongjoon Hyun <[email protected]>
@dongjoon-hyun dongjoon-hyun deleted the SPARK-54269 branch November 10, 2025 06:41
@dongjoon-hyun
Copy link
Member Author

Merged to master/4.1 for Apache Spark 4.1.0.

dongjoon-hyun added a commit that referenced this pull request Nov 10, 2025
…ython 3.14

### What changes were proposed in this pull request?

This PR aims to enable `test_in_memory_data_source` in Python 3.14.

### Why are the changes needed?

After upgrading to the latest `cloudpickle` 3.1.2, I verified that the test passed on Python 3.14.0.
- #52964

```
$ python/run-tests --parallelism 1 --testnames pyspark.sql.tests.test_python_datasource --python-executables python3
Running PySpark tests. Output is in /Users/dongjoon/APACHE/spark-merge/python/unit-tests.log
Will test against the following Python executables: ['python3']
Will test the following Python tests: ['pyspark.sql.tests.test_python_datasource']
python3 python_implementation is CPython
python3 version is: Python 3.14.0
Starting test(python3): pyspark.sql.tests.test_python_datasource (temp output: /Users/dongjoon/APACHE/spark-merge/python/target/e771105c-5304-4f4f-bea6-b8d896b1b250/python3__pyspark.sql.tests.test_python_datasource__2wyrv5n4.log)
Finished test(python3): pyspark.sql.tests.test_python_datasource (29s)
Tests passed in 29 seconds
```

### Does this PR introduce _any_ user-facing change?

No. This is a test change.

### How was this patch tested?

Pass the CIs and manual tests.

### Was this patch authored or co-authored using generative AI tooling?

No.

Closes #52967 from dongjoon-hyun/SPARK-54065.

Authored-by: Dongjoon Hyun <[email protected]>
Signed-off-by: Dongjoon Hyun <[email protected]>
dongjoon-hyun added a commit that referenced this pull request Nov 10, 2025
…ython 3.14

### What changes were proposed in this pull request?

This PR aims to enable `test_in_memory_data_source` in Python 3.14.

### Why are the changes needed?

After upgrading to the latest `cloudpickle` 3.1.2, I verified that the test passed on Python 3.14.0.
- #52964

```
$ python/run-tests --parallelism 1 --testnames pyspark.sql.tests.test_python_datasource --python-executables python3
Running PySpark tests. Output is in /Users/dongjoon/APACHE/spark-merge/python/unit-tests.log
Will test against the following Python executables: ['python3']
Will test the following Python tests: ['pyspark.sql.tests.test_python_datasource']
python3 python_implementation is CPython
python3 version is: Python 3.14.0
Starting test(python3): pyspark.sql.tests.test_python_datasource (temp output: /Users/dongjoon/APACHE/spark-merge/python/target/e771105c-5304-4f4f-bea6-b8d896b1b250/python3__pyspark.sql.tests.test_python_datasource__2wyrv5n4.log)
Finished test(python3): pyspark.sql.tests.test_python_datasource (29s)
Tests passed in 29 seconds
```

### Does this PR introduce _any_ user-facing change?

No. This is a test change.

### How was this patch tested?

Pass the CIs and manual tests.

### Was this patch authored or co-authored using generative AI tooling?

No.

Closes #52967 from dongjoon-hyun/SPARK-54065.

Authored-by: Dongjoon Hyun <[email protected]>
Signed-off-by: Dongjoon Hyun <[email protected]>
(cherry picked from commit 79d0c42)
Signed-off-by: Dongjoon Hyun <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants