Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

Zarr depth limit rejects NWB chunk paths

Đang mở
#1,919 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

Chưa có ai nhận issue này.

Đánh giá

Độ khó
3/5
Thời gian dự kiến
1-2 ngày
Mức phù hợp với người mới
64/100
Loại issue
Lỗi
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
python
Lĩnh vực
cli

Hướng nghiên cứu

Bắt đầu bằng cách chạy tái hiện số với dandi validate deep.zarr và lần theo điểm vào của quá trình validation báo cáo dandi_zarr.tree_depth_exceeded. Xác định cách các thư mục tọa độ chunk được nhận diện của Zarr v3 được đếm, sau đó bổ sung coverage cho đường dẫn array gồm năm thành phần; công việc được hoàn thành khi các đường dẫn chunk hợp lệ không còn gây ra lỗi độ sâu, trong khi cơ chế bảo vệ cây thư mục dự kiến vẫn được giữ nguyên.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

I converted an IBL session while testing hdmf-zarr's v3 migration and tried uploading it to sandbox dandiset 218696. DANDI 0.78.0 stopped at validation:

[dandi_zarr.tree_depth_exceeded] Zarr directory tree more than 7 directories deep

The processed file has 34 files over the limit, including:

processing/pose_estimation/RightCamera/PoseEstimationSeriesTubeTop/data/c/1/0

The NWB array path has five components. Zarr v3 adds c/1/0 for the chunk coordinates. With the usual v2 encoding this would end in data/1.0 and fit under the limit.

This numeric-only example reproduces it:

import numpy as np
import zarr

group = zarr.open_group("deep.zarr", mode="w", zarr_format=3)
array = group.create_array("a/b/c/d/series/data", shape=(2, 2), chunks=(1, 1), dtype="float64")
array[:] = np.arange(4).reshape(2, 2)

Run dandi validate deep.zarr (outside a dandiset it also reports DANDI.NO_DANDISET_FOUND). The IBL upload also hit the string validation error reported in #1918. This example uses only numeric data to isolate the depth error.

I found the same problem in #983 from 2022. Satra pointed out that the nested NGFF chunk paths were legitimate. John asked whether to increase or remove the limit. Satra suggested seven to cover the use cases at the time, and Yarik agreed:

https://github.com/dandi/dandi-cli/issues/983#issuecomment-1108693135

The original proposal was concerned about accidentally uploading large directory trees as thousands of assets:

https://github.com/dandi/dandi-cli/issues/852#issuecomment-995976767

Do we still need this restriction inside a recognized Zarr asset? Could we remove it or exclude chunk coordinates from the count?

Ngôn ngữ chính
Python
Star
29
Fork
37
Merge trung bình
1 ngày 5 giờ
Pull request đã merge (30 ngày)
20

Chuẩn bị môi trường

Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của dandi/dandi-cli

Tất cả issue của dandi/dandi-cli

Issue tương tự

Thêm issue về Python

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.