-
Notifications
You must be signed in to change notification settings - Fork 54
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
write_multiscale() writes to local path on Linux instead of cloud bucket when using dask>=2023.1.0 #282
Comments
From dask/dask#10324 (comment) my understanding is that if you've already created the store (as we have in ome-zarr-py) then you shouldn't need to specify any other storage options (because they should all be incorporated into the store itself, or in the case of The addition of storage options to |
I agree that specifying |
If the intended / future behaviour of dask at this point (see dask/dask#10324 (comment)) is to "raise an informative error when url is an FSStore instance and storage_options are given" then we need to not pass any storage options. The call stack for that is:
So you'd need to pass This would mean possibly removing the This would mean NOT going ahead with the deprecation of 'chunks' at #167 Presumably we should also remove the line at ome-zarr-py/ome_zarr/writer.py Line 251 in 685eb89
options is not empty.
https://zarr.readthedocs.io/en/stable/api/storage.html#zarr.storage.FSStore cc @sbesson |
Interestingly, I just reproduced the same issue both on Windows and on Linux with dask 2023.6.0 when trying to convert a microscopy time series to zarr (TCZYX =~ (1000, 1, 150, 2000, 1000)). Just like @carshadi said, Reverting to dask 2022.12.1 gets me up and running again. |
Please see this issue dask/dask#10324 , which is the source of this problem
Here is an MRE:
The issue is that when an
FSStore
is passed todask.array.to_zarr(url=group.store)
andstorage_options
is non-empty, this code path is used https://github.com/dask/dask/blob/596d74dbc72db663efac606d42d5c93c5a917fb9/dask/array/core.py#L3710passing an
FSStore
instance to theFSStore
constructor on Linux results in the store being created in the current working directory, e.g.,./my-bucket/zarr-test.zarr
instead of the correct S3 path (this also true for GCS paths).This does not occur on Windows 10.
Reverting to dask
2022.12.1
fixes the issueThe text was updated successfully, but these errors were encountered: