Skip to content

Commit bc5877b

Browse files
d-v-bdcherian
andauthored
Feat/concurrent members (#2519)
* feat: add wrapperstore * feat: add latencystore * rename noisysetter -> noisygetter * rename _wrapped to _store * loggingstore inherits from wrapperstore * initial commit * working members traversal * bolt concurrent members implementation onto async group * update scratch file * use metadata / node builders for v3 node creation * fix key/name handling in recursion * add latency-based test * add latency-based concurrency tests for group.members * improve comments for test * add concurrency limit * add test for concurrency limiting * docstrings * remove function that was only calling itself * docstrings * relax timing requirement for concurrency test * Update src/zarr/core/group.py Co-authored-by: Deepak Cherian <[email protected]> * exists_ok -> overwrite * simplify group_members_perf test, just require that the duration is less than the number of groups * latency * update test docstring * remove vestigial test --------- Co-authored-by: Deepak Cherian <[email protected]>
1 parent f9c2024 commit bc5877b

File tree

5 files changed

+318
-89
lines changed

5 files changed

+318
-89
lines changed

Diff for: src/zarr/api/asynchronous.py

-1
Original file line numberDiff line numberDiff line change
@@ -188,7 +188,6 @@ async def consolidate_metadata(
188188
group.store_path.store._check_writable()
189189

190190
members_metadata = {k: v.metadata async for k, v in group.members(max_depth=None)}
191-
192191
# While consolidating, we want to be explicit about when child groups
193192
# are empty by inserting an empty dict for consolidated_metadata.metadata
194193
for k, v in members_metadata.items():

Diff for: src/zarr/core/array.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -1995,10 +1995,11 @@ def path(self) -> str:
19951995

19961996
@property
19971997
def name(self) -> str:
1998+
"""Array name following h5py convention."""
19981999
return self._async_array.name
19992000

20002001
@property
2001-
def basename(self) -> str | None:
2002+
def basename(self) -> str:
20022003
"""Final component of name."""
20032004
return self._async_array.basename
20042005

0 commit comments

Comments
 (0)