Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: zarr-developers/zarr-python
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: main
Choose a base ref
...
head repository: dgegen/zarr-python
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: main
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
  • 2 commits
  • 7 files changed
  • 1 contributor

Commits on Jul 29, 2025

  1. Enhanced Metadata Retrieval

    - This pull request resolves the issue of deadlocks and indefinite hangs when
      opening Zarr v3 arrays on synchronous fsspec filesystems, by implementing a
      fallback to sequential reads for non-concurrency-safe filesystems, ensuring
      robust metadata retrieval without sacrificing performance for safe
      filesystems. Furthermore `Store.get_many` was modified to retrieve objects
      concurrently from storage. The previous implementation was sequential,
      awaiting each `self.get(*req)` before proceeding, contrary to the docstring.
    - Introduced `Store.get_many_ordered` and `StorePath.get_many_ordered` to
      retrieve multiple metadata files in a single call, optimizing the retrieval
      process and reducing overhead. `StorePath.get_many_ordered` is used in
      `get_array_metadata`. `Store._get_many_ordered` is used in
      `_read_metadata_v2`.
    - Modified `FsspecStore._get_many` and `FsspecStore._get_many_ordered`
      to conditionally use `asyncio.gather` based on the concurrency safety
      of the underlying file system, enhancing compatibility with
      synchronous file systems by avoiding deadlocks when accessing metadata
      concurrently. Adding tests `LockableFileSystem` to test with
      async/sync behavior.
    dgegen committed Jul 29, 2025
    Configuration menu
    Copy the full SHA
    b9b1586 View commit details
    Browse the repository at this point in the history
  2. Remove get_many_ordered

    dgegen committed Jul 29, 2025
    Configuration menu
    Copy the full SHA
    8046f94 View commit details
    Browse the repository at this point in the history
Loading