Skip to content

Latest commit

 

History

History
15 lines (15 loc) · 1.01 KB

File metadata and controls

15 lines (15 loc) · 1.01 KB
  • 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 StorePath.get_many, mimicing the behaviour of StorePath.get.
  • Use Store._get_many and StorePath.get_many in get_array_metadata.
  • Implemented FsspecStore._get_many 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.