-
Notifications
You must be signed in to change notification settings - Fork 3.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
GH-37254: [Python] Parametrize all pickling tests to use both the pickle and cloudpickle modules #37255
Conversation
|
Cython 3 will set my_test.pyx
Usage here:
|
There seems to be an intermittent failure reported:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
(Sorry, I can't review this deeply because I'm not familiar with pickle.)
For the intermittent failure, I've also seen it in the CI tests for #37097. The |
xprocess doesn't quite fit cleanly into what we want. I tried adding a connection_timeout parameter to s3fs in our tests instead to see if that helps. We could also add the minio python client as a dependency if we want. This will add retries for 503 errors automatically. Not sure if we want to add another test dependency for that though.. |
@github-actions crossbow submit python |
|
@github-actions crossbow submit python |
Revision: 0ddbff5 Submitted crossbow builds: ursacomputing/crossbow @ actions-7eabdb808a |
@github-actions crossbow submit test-conda-python-3.11-hypothesis |
Revision: fa83e39 Submitted crossbow builds: ursacomputing/crossbow @ actions-7d987d430e
|
Still need to fix the intermittent failure with minio server startup. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actual code changes (apart from the S3 issue) look good, thanks a lot for this!
06a21ac
to
7710a86
Compare
@github-actions crossbow submit python |
Revision: 7710a86 Submitted crossbow builds: ursacomputing/crossbow @ actions-c53268ddd6 |
@github-actions crossbow submit test-conda-python-3.10-hdfs* |
Revision: 8eb925d Submitted crossbow builds: ursacomputing/crossbow @ actions-a1c4d5ead7
|
8eb925d
to
1a5b32b
Compare
@github-actions crossbow submit python |
Revision: 1a5b32b Submitted crossbow builds: ursacomputing/crossbow @ actions-c0a5b0e9b9 |
CI looks good! No S3 intermittent failures reported after 2 full runs. All current failures are unrelated. Ready to merge IMO. |
Nice, thanks a lot Dane! |
After merging your PR, Conbench analyzed the 6 benchmarking runs that have been run so far on merge-commit 175b2a2. There were 4 benchmark results indicating a performance regression:
The full Conbench report has more details. It also includes information about possible false positives for unstable benchmarks that are known to sometimes produce them. |
…he pickle and cloudpickle modules (apache#37255) ### Rationale for this change Cloudpickle was not tested in most parts of the pyarrow test suite. Improving this coverage will make the Cython 3.0.0 upgrade cleaner as cloudpickle was failing in a few places where the default pickle module was not. This has been verified using Cython 0.29.36. ### What changes are included in this PR? * `__reduce__` methods that need to pass kwargs have been changed from classmethod to staticmethod * All pytests that pickle objects are parameterized to use both `pickle` and `cloudpickle` ### Are these changes tested? Yes, pytests run successfully with Cython 0.29.36 ### Are there any user-facing changes? No. * Closes: apache#37254 Authored-by: Dane Pitkin <dane@voltrondata.com> Signed-off-by: Sutou Kouhei <kou@clear-code.com>
Rationale for this change
Cloudpickle was not tested in most parts of the pyarrow test suite. Improving this coverage will make the Cython 3.0.0 upgrade cleaner as cloudpickle was failing in a few places where the default pickle module was not. This has been verified using Cython 0.29.36.
What changes are included in this PR?
__reduce__
methods that need to pass kwargs have been changed from classmethod to staticmethodpickle
andcloudpickle
Are these changes tested?
Yes, pytests run successfully with Cython 0.29.36
Are there any user-facing changes?
No.