issue_comments: 869196682
This data as json
| html_url | issue_url | id | node_id | user | created_at | updated_at | author_association | body | reactions | performed_via_github_app | issue |
|---|---|---|---|---|---|---|---|---|---|---|---|
| https://github.com/pydata/xarray/issues/5511#issuecomment-869196682 | https://api.github.com/repos/pydata/xarray/issues/5511 | 869196682 | MDEyOklzc3VlQ29tbWVudDg2OTE5NjY4Mg== | 25071375 | 2021-06-27T17:15:20Z | 2021-06-27T17:15:20Z | CONTRIBUTOR | Hi again, I check a little bit more the behavior of Zarr and Dask and I found that the problem only occurs when the lock option in the 'dask.store' method is set as None or False, below you can find an example: ```py import numpy as np import zarr import dask.array as da Writing an small zarr array with 42.2 as the valuez1 = zarr.open('data/example.zarr', mode='w', shape=(152), chunks=(30), dtype='f4') z1[:] = 42.2 resizing the arrayz2 = zarr.open('data/example.zarr', mode='a') z2.resize(308) New data to appendappend_data = da.from_array(np.array([50.3] * 156), chunks=(30)) If you pass to the lock parameters None or False you will get the PermissonError or some 0s in the final resultso I think this is the problem when Xarray writes to Zarr with Dask, (I saw in the code that by default use lock = None)If you put lock = True all the problems disappear.da.store(append_data, z2, regions=[tuple([slice(152, 308)])], lock=None) the result can contain many 0s or throw an errorprint(z2[:]) ``` Hope this help to fix the bug. |
{
"total_count": 0,
"+1": 0,
"-1": 0,
"laugh": 0,
"hooray": 0,
"confused": 0,
"heart": 0,
"rocket": 0,
"eyes": 0
} |
927617256 |