Zarr depth limit rejects NWB chunk paths
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 64/100
Direzione di ricerca
Inizia eseguendo la riproduzione numerica con dandi validate deep.zarr e traccia il punto di ingresso della validazione che segnala dandi_zarr.tree_depth_exceeded. Determina come vengono contate le directory delle coordinate dei chunk riconosciute da Zarr v3, quindi aggiungi la copertura per il percorso dell'array a cinque componenti; il lavoro è completo quando i percorsi dei chunk legittimi non attivano più l'errore di profondità, mentre la salvaguardia prevista dell'albero delle directory rimane in vigore.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
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?
- Lingua principale
- Python
- Stelle
- 29
- Fork
- 37
- Merge medio
- 1g 10h
- PR unite (30g)
- 17
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di dandi/dandi-cli
-
pynwb metadata: get neurodata typesForse di nuovo libera Una pull request per questa issue è stata chiusa senza essere unita. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
I maintainer di solito rispondono entro 1 giorno
-
`metadata.nwb.get_metadata()` validates the whole BIDS dataset for every NWB file, then discards the resultForse già presa @CodyCBakerPhD l’ha presa 7 giorni fa. ApertaBIDS performance
dandi/dandi-cli#1962 · 1 commento · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
-
BIDS bug
Difficoltà 3/5 Mezza giornata Idoneità per principianti 45/100
dandi/dandi-cli#1961 · 4 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
dandi/dandi-cli#1920 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 70/100
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di dandi/dandi-cli
Issue simili
-
documentation good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
selimfirat/pysad#379 ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
open-webui/open-webui#32805 ·
I maintainer di solito rispondono entro 1 giorno
-
fix: [bug description] HTML CVE metric table shows only the last CVE for each productForse già presa @Chris-wh233 l’ha presa oggi. Apertabug
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
ossf/cve-bin-tool#5976 ·
I maintainer di solito rispondono entro 1 giorno
-
needs-triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
gke-labs/kube-agents#3615 ·
I maintainer di solito rispondono entro 1 giorno
-
deferred
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
I maintainer di solito rispondono entro 1 giorno