You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(store): relocate LocalStore temporary files to configurable tmp_dir
`LocalStore` now writes temporary files to a dedicated `tmp_dir` rather than
directly inside the store path. Previously, `_atomic_write` wrote temp files
ending in `.partial` inside the store which triggered `ZarrUserWarning` during
concurrent reading and listing of the store.
The location defaults to the system temporary directory (via
`tempfile.gettempdir()`), and is overridable via the `tmp_dir` argument to
`LocalStore` or globally via the `store.local.tmp_dir` config option (env var
`ZARR_STORE__LOCAL__TMP_DIR`). The temporary directory must be on the same
filesystem as the store, otherwise `_atomic_write` will raise `OSError` with
`EXDEV`. The pre-existing try/except now also has a specific catch for `EXDEV`
and re-raises, informing the user to change the `tmp_dir` value to a location on
the same filesystem rather than emitting a raw `OSError`. Documented this new
option in config.md and storage.md. Fixes#4161.
Copy file name to clipboardExpand all lines: docs/user-guide/config.md
+1Lines changed: 1 addition & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -44,6 +44,7 @@ Configuration options include the following:
44
44
- Selections of implementations of codecs, codec pipelines and buffers
45
45
- Enabling GPU support with `zarr.config.enable_gpu()`. See [GPU support](gpu.md) for more.
46
46
- Control request merging when reading multiple chunks from the same shard with `array.sharding_coalesce_max_gap_bytes` and `array.sharding_coalesce_max_bytes`. Reads of nearby chunks are coalesced into a single request to the store when separated by at most `sharding_coalesce_max_gap_bytes` and the resulting merged read is no larger than `sharding_coalesce_max_bytes`.
47
+
- Set the temporary write location for `LocalStore` writes with `store.local.tmp_dir`.
47
48
48
49
For selecting custom implementations of codecs, pipelines, buffers and ndbuffers,
49
50
first register the implementations in the registry and then select them in the config.
0 commit comments