Zarr depth limit rejects NWB chunk paths
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
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
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- 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.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của dandi/dandi-cli
-
pynwb metadata: get neurodata typesCó thể làm lại được Pull request cho issue này đã bị đóng mà không được merge. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
Maintainer thường phản hồi trong vòng 1 ngày
-
`metadata.nwb.get_metadata()` validates the whole BIDS dataset for every NWB file, then discards the resultCó thể đã có người làm @CodyCBakerPhD đã nhận 3 ngày trước. Đang mởBIDS performance
dandi/dandi-cli#1962 · 1 bình luận · 1 người được giao ·
Maintainer thường phản hồi trong vòng 1 ngày
-
BIDS bug
Độ khó 3/5 Nửa ngày Mức phù hợp với người mới 45/100
dandi/dandi-cli#1961 · 4 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 48/100
dandi/dandi-cli#1920 · 2 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 70/100
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của dandi/dandi-cli
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
ok-oldking/ok-wuthering-waves#1785 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
healthchecks/healthchecks#1349 ·
-
deployment release-lag
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 68/100
nolte/kamerplanter#2374 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug v1 v2
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
modelcontextprotocol/python-sdk#3725 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
batchterms() drops queries without a similar() clause, misaligning results with inputsCó thể đã có người làm @MohammadHijjawi97 đã nhận hôm nay. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 86/100
Maintainer thường phản hồi trong vòng 1 ngày