-
Notifications
You must be signed in to change notification settings - Fork 286
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
Unpin dask
and pin it to >=2025.1.0
and unSKIP doctests
#6312
base: main
Are you sure you want to change the base?
Conversation
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.
Despite what the README says, please update these lock-files by using conda-lock or conda list --explicit
shall do now 🍺 |
updated them in ee6825e by using your own
Lemme know if I should rebuild them with |
I didn't realise the tests hadn't run yet!
⏱️ Performance Benchmark Report: 0f83317Performance shifts
Full benchmark results
Generated by GHA run |
thanks for looking @trexfeathers - you guys know what's the hap with those three failed tests, or should I investigate the fails meself? 🍺 |
SOF suggests a -1 pickle protocol |
I know no more than you do on this one, so if you have time to investigate, it won't be a waste! |
perfect, shall do! Pytest fails are my specialty, shoot them down like turkeys 🦃 😁 |
OK so the MRE for this bugger is this: import pickle
import iris
def repro_failed_test():
pth = "/home/valeriu/iris_fork/lib/iris/test_data/NetCDF/global/xyt/SMALL_hires_wind_u_for_ipcc4.nc"
cube = iris.load(pth)[0]
with open("./testpkl", "wb") as f:
pickle.dump(cube, f, 1)
repro_failed_test() obv that file is the same as tested for, from the iris test data repo. I shall now proceed to figuring out what package is causing this. |
Yup! It is DASK at fault here:
'Twas a Christmas change that brought the bug down the chimney! Full deps diff:
Now, there is a workaround for this if you guys want to adopt it - use only |
See also: #6258 Sorry I didn't remember it before - it was pre-holiday! Anyway all I had done was write it up with no investigation, so no time wasted. |
BTW same behaviour if using But, here's the thing: using protocols 2 onward until and inclusive of maximum 5 all works well, am thinking 0 and 1 are veeerry old, maybe there's no need to use them at all? |
Had a conversation with @bjlittle and @pp-mo. We're comfortable altering the test to only test protocols We don't expect the above to be a breaking change, although it would be worth warning users about in a What's New entry. Not sure how to solve this one final error:
Unpinning is scheduled for our upcoming Iris 3.12 work, so we're happy to take it from here if you want. But you're welcome to keep going if you prefer. |
sounds very reasonable that way indeed! Honestly, I wouldn't know how to get the protocol value in a dynamical manner, but the |
ah that Task-related fail is pretty clear if we look at what
They changed massively the graphing in 2024.12 - see dask/dask#11569 The test shouldn't index what is now a Task, so I think that's also doable easily. Ah the joys of Dask making frequent massive backend and API changes, not very well tested, and letting everyone in the dust 😁 |
@trexfeathers @bjlittle how do you guys plan on proceeding from here? I can make the changes in the test - for pickling it's a straightforward case, but for the |
We can take it from here. Thanks for all your work on this |
sounds good! Feel free to use this branch too if it's more convenient 🍻 Let me know how else I can help with ie testing etc |
⏱️ Performance Benchmark Report: 24780c0Performance shifts
Full benchmark results
Generated by GHA run |
🚀 Pull Request
Description
Dask solved their severe issue reported in #6251 in 2025.1.0, and unpinning - and pinning it to the earliest version that solves that issue was raised in #6264
I am also unSKIPping the doctests that @trexfeathers mentioned in #6264 (comment)
Closes #6264
Consult Iris pull request check list
Add any of the below labels to trigger actions on this PR: