Skip to content

handle zarr upstream changes#2076

Open
ianhi wants to merge 2 commits intomainfrom
ian/hypo-debug
Open

handle zarr upstream changes#2076
ianhi wants to merge 2 commits intomainfrom
ian/hypo-debug

Conversation

@ianhi
Copy link
Copy Markdown
Collaborator

@ianhi ianhi commented Apr 14, 2026

rectilinear chunks + changed add_array signature

@ianhi
Copy link
Copy Markdown
Collaborator Author

ianhi commented Apr 14, 2026

of course this makes the v1 version of compat fail

[4](https://github.com/earth-mover/icechunk/actions/runs/24407892781/job/71297384149?pr=2076#step:6:3445)

Falsifying example:
state = CrossVersionTwoActorZarrHierarchyStateMachine()
Draw 1: 'v1'
Creating repository with spec_version=1, actor=<class 'icechunk_v1.repository.Repository'>
state.init_store(spec_version=1, data=data(...))
state.check_list_dir()
state.check_list_prefix_from_root()
Checking 1 expected keys vs 1 actual keys
Draw 2: bool(False)
Adding array:  path='0'  shape=(0,)  chunks=(0,)
Draw 3 (dimension names): None
state.add_array(array_and_chunks=(array([], dtype=bool), (0,)), data=data(...), name='0')
state.teardown()
Explanation:
    These lines were always and only run by failing examples:
        /home/runner/work/icechunk/icechunk/icechunk-python/.venv/lib/python3.12/site-packages/zarr/core/sync.py:120
        /home/runner/work/icechunk/icechunk/icechunk-python/.venv/lib/python3.12/site-packages/zarr/core/sync.py:159
        /usr/lib/python3.12/asyncio/tasks.py:788
        /usr/lib/python3.12/asyncio/tasks.py:789

You can reproduce this example by temporarily adding @reproduce_failure('6.151.9', b'AABBAQBBAEETAEEAQQEBQQAAQQCBMABBAA==') as a decorator on your test case

@dcherian
Copy link
Copy Markdown
Collaborator

we can update the compat one specifically?

@ianhi
Copy link
Copy Markdown
Collaborator Author

ianhi commented Apr 14, 2026

hmm upstream zarr is also changing configs by default:

https://github.com/zarr-developers/zarr-python/blob/0ea15fd7a2d898ffa445aeacbba9ad64707c9117/tests/test_store/test_stateful.py#L21-L25

  @pytest.fixture(autouse=True)
  def _enable_rectilinear_chunks() -> Generator[None, None, None]:
      with zarr.config.set({"array.rectilinear_chunks": True}):
          yield

@ianhi
Copy link
Copy Markdown
Collaborator Author

ianhi commented Apr 15, 2026

I think that: zarr-developers/zarr-python#3909 (comment)

will help a lot

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants