Skip to content

test(stateful): bound how far append grows an axis in the array lifecycle test - #4470

Merged
d-v-b merged 1 commit into
zarr-developers:mainfrom
d-v-b:fix/stateful-append-bound
Oct 3, 2026
Merged

d-v-b merged 1 commit into
zarr-developers:mainfrom
d-v-b:fix/stateful-append-bound

Conversation

@d-v-b

@d-v-b d-v-b commented Oct 3, 2026 •

Copy link
Copy Markdown
Contributor

🤖 AI text below 🤖

The array lifecycle stateful test now caps the extent append can grow an axis to (2 * MAX_SIDE), as resize already was. This keeps the nightly Slow Hypothesis run under pytest's 600s faulthandler_timeout, which killed it on 2026-10-03.

Fixes #4467.

Cause. faulthandler_timeout applies to TestArrayLifecycle::runTest as a whole, i.e. all 500 nightly examples. append drew 0-4 rows per step with no bound, so over 100 steps an array with chunks of 1 grew to roughly 28×38×34 (~36k chunks), and each matches_model full read took up to ~4s. The last green nightly already ran this test for 563s; the failing one was killed at 600s while blocked in get_basic_selection from matches_model. The two commits between those nightlies (#4377, #4375) are not the cause: every slow read the agent logged was on a regular grid.

Verification. With the cap, the test under HYPOTHESIS_PROFILE=nightly took 155-191s locally (4 seeds in parallel, no coverage), and every tracked event() still fires, including "append to a zero-length axis" and "grow an axis stored with chunk size 0". The agent also dispatched the Slow Hypothesis workflow (nightly profile) on the fork branch; run 37108576374.

No changelog fragment: test-only change.

🤖 Generated with Claude Code

…ycle test

`append` could add up to 4 rows every step with no upper bound, so over the
nightly profile's 100 steps an array with chunks of 1 reached tens of thousands
of chunks and each `matches_model` read took seconds. The 500 nightly examples
together exceeded pytest's 600s faulthandler_timeout (563s on the last green
nightly, killed on 2026-10-03). Cap appended extents at 2 * MAX_SIDE.

Assisted-by: ClaudeCode:claude-opus-5-5
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@github-actions github-actions Bot added the needs release notes Automatically applied to PRs which haven't added release notes label Oct 3, 2026
@d-v-b
d-v-b marked this pull request as ready for review October 3, 2026 09:10
@d-v-b
d-v-b merged commit df18415 into zarr-developers:main Oct 3, 2026
32 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

needs release notes Automatically applied to PRs which haven't added release notes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Nightly Hypothesis tests failed

1 participant