Fix consolidated-metadata staleness in deep iteration, require_array dtype check, attribute-update semantics, and sync timeout cancellation - #190
Draft
d-v-b wants to merge 8 commits into
Conversation
…#176) Bumps the actions group with 8 updates in the / directory: | Package | From | To | | --- | --- | --- | | [prefix-dev/setup-pixi](https://github.com/prefix-dev/setup-pixi) | `0.9.5` | `0.9.6` | | [codecov/codecov-action](https://github.com/codecov/codecov-action) | `6.0.0` | `6.0.1` | | [github/issue-metrics](https://github.com/github/issue-metrics) | `4.2.2` | `4.2.7` | | [j178/prek-action](https://github.com/j178/prek-action) | `2.0.3` | `2.0.4` | | [actions/upload-artifact](https://github.com/actions/upload-artifact) | `7.0.0` | `7.0.1` | | [actions/download-artifact](https://github.com/actions/download-artifact) | `7.0.0` | `8.0.1` | | [pypa/gh-action-pypi-publish](https://github.com/pypa/gh-action-pypi-publish) | `1.13.0` | `1.14.0` | | [zizmorcore/zizmor-action](https://github.com/zizmorcore/zizmor-action) | `0.5.3` | `0.5.6` | Updates `prefix-dev/setup-pixi` from 0.9.5 to 0.9.6 - [Release notes](https://github.com/prefix-dev/setup-pixi/releases) - [Commits](prefix-dev/setup-pixi@1b2de7f...5185adf) Updates `codecov/codecov-action` from 6.0.0 to 6.0.1 - [Release notes](https://github.com/codecov/codecov-action/releases) - [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md) - [Commits](codecov/codecov-action@57e3a13...e79a696) Updates `github/issue-metrics` from 4.2.2 to 4.2.7 - [Release notes](https://github.com/github/issue-metrics/releases) - [Commits](github-community-projects/issue-metrics@c9e9838...1e38d5e) Updates `j178/prek-action` from 2.0.3 to 2.0.4 - [Release notes](https://github.com/j178/prek-action/releases) - [Commits](j178/prek-action@6ad8027...bdca6f1) Updates `actions/upload-artifact` from 7.0.0 to 7.0.1 - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](actions/upload-artifact@v7...043fb46) Updates `actions/download-artifact` from 7.0.0 to 8.0.1 - [Release notes](https://github.com/actions/download-artifact/releases) - [Commits](actions/download-artifact@v7...3e5f45b) Updates `pypa/gh-action-pypi-publish` from 1.13.0 to 1.14.0 - [Release notes](https://github.com/pypa/gh-action-pypi-publish/releases) - [Commits](pypa/gh-action-pypi-publish@v1.13.0...cef2210) Updates `zizmorcore/zizmor-action` from 0.5.3 to 0.5.6 - [Release notes](https://github.com/zizmorcore/zizmor-action/releases) - [Commits](zizmorcore/zizmor-action@b1d7e1f...5f14fd0) --- updated-dependencies: - dependency-name: prefix-dev/setup-pixi dependency-version: 0.9.6 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: actions - dependency-name: codecov/codecov-action dependency-version: 6.0.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: actions - dependency-name: github/issue-metrics dependency-version: 4.2.7 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: actions - dependency-name: j178/prek-action dependency-version: 2.0.4 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: actions - dependency-name: actions/upload-artifact dependency-version: 7.0.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: actions - dependency-name: actions/download-artifact dependency-version: 8.0.1 dependency-type: direct:production update-type: version-update:semver-major dependency-group: actions - dependency-name: pypa/gh-action-pypi-publish dependency-version: 1.14.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: actions - dependency-name: zizmorcore/zizmor-action dependency-version: 0.5.6 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: actions ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…bute-update semantics, and sync timeout cancellation B11: _members() and Group.members() ignored use_consolidated_for_children when the root group itself had consolidated metadata, causing all descendants to be served from the stale cache. Fix: skip the consolidated fast-path when the flag is False, and pass the flag through the recursive _iter_members_deep call. B12: Group.update_attributes_async replaced attributes instead of merging them, diverging from every other update path. Fix: merge with existing attributes before writing. B13: AsyncGroup.require_array converted dtype=None to np.dtype(None) = float64, then rejected any existing array whose dtype was not castable to float64. Fix: skip the dtype check entirely when the caller did not supply a dtype. B14: The zarr.storage.default_compressor deprecation warning pointed users to array.v2_default_compressor.numeric, a config key that was itself removed in 3.1.0. Fix: update the message to recommend the compressors= argument. B15: sync() did not cancel the underlying concurrent.futures.Future on timeout, leaving the coroutine running indefinitely on the IO thread. Fix: call future.cancel() before raising TimeoutError. B16: NDBuffer.create on GPU used cp.empty when fill_value is None, diverging from the CPU path which uses np.zeros. Fix: mirror CPU semantics. Adds typed regression tests for B11-B15; GPU test for B16 deferred to CI. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Open
59 tasks
d-v-b
force-pushed
the
main
branch
2 times, most recently
from
June 25, 2026 09:15
db473cd to
fd6189b
Compare
Refresh the branch with current main, retain parse_data_type support, and verify consolidated child selection across formats and APIs. Assisted-by: Codex:GPT-6
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
🤖 AI text below 🤖
Fixes group, sync, and GPU-wrapper issues, including recursive member option forwarding, optional dtype validation in require_array, async attribute merging, safe sync dispatch, and GPU buffer behavior.
The child-consolidation flag affects groups loaded during traversal; an already-consolidated root remains authoritative. Review corrected that distinction and added a 16-case sync/async, V2/V3, root/child consolidation matrix. Integration with current main preserves parse_data_type support. The deprecation example now explicitly selects V2 when recommending a numcodecs compressor.
Validation: 936 group/sync/consolidation tests plus 27 V2 tests passed; mypy and all commit hooks passed. GPU paths were inspected but could not be executed without CUDA.