Invalid --chunks/--shards arguments to b2nd-to-zarr deletes destination with --force
Mantenedores costumam responder em até 5 dias
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 2/5
- Tempo estimado
- 1-3 horas
- Facilidade para iniciantes
- 68/100
Direção de pesquisa
Comece localizando a implementação do comando b2nd-to-zarr e rastreando onde ele remove o destino com --force em relação à chamada para zarr.create_array. Reproduza a falha usando os comandos shell da issue, incluindo --chunks 30 --shards 50 --force. Está concluído quando argumentos inválidos não fizerem mais com que o destino existente desapareça quando a conversão falhar.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
Describe the bug
If a user creates a .zarr file using b2nd-to-zarr, then subsequently calls b2nd-to-zarr again with arguments to --chunks and --shards that are invalid, meaning shards % chunks != 0, then b2nd-to-zarr will call shutil.rmtree(dst_path) first and then call zarr.create_array which will fail. I think ideally the converter should throw an error before reaching zarr.create_array about invalid arguments to --chunks and --shards.
To Reproduce
Steps to reproduce the behavior:
Shell commands:
python -c "import blosc2, numpy as np; blosc2.asarray(np.arange(1000), urlpath='data.b2nd', mode='w')"
b2nd-to-zarr data.b2nd good.zarr -q && ls good.zarr
b2nd-to-zarr data.b2nd good.zarr --chunks 30 --shards 50 --force
Output:
Error: Chunk edge length 50 in dimension 0 is not divisible by the shard's inner chunk size 30.
Then
ls good.zarr
produces
ls: good.zarr: No such file or directory
Expected behavior
good.zarr should still exist even if the converter fails
Desktop:
- OS: Mac OS Tahoe
- Version 26.7
Additional context
I think one additional option besides throwing an earlier error message could be writing to a temporary path and then renaming it after success
- Linguagem predominante
- Python
- Estrelas
- 214
- Forks
- 71
- Merge médio
- 3d 3h
- PRs com merge (30d)
- 7
Preparar o ambiente
Inicia o contêiner de desenvolvimento do projeto no navegador, com a sua própria conta do GitHub.
- Sem Dockerfile nem arquivo Docker Compose
- Sem modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de Blosc/python-blosc2
-
documentation sustain-2026
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
Blosc/python-blosc2#720 · 3 comentários ·
Mantenedores costumam responder em até 5 dias
-
sustain-2026
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
Blosc/python-blosc2#717 ·
Mantenedores costumam responder em até 5 dias
-
documentation sustain-2026
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 80/100
Blosc/python-blosc2#714 ·
Mantenedores costumam responder em até 5 dias
-
documentation sustain-2026
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
Blosc/python-blosc2#710 ·
Mantenedores costumam responder em até 5 dias
-
documentation sustain-2026
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 70/100
Blosc/python-blosc2#722 ·
Mantenedores costumam responder em até 5 dias
Todas as issues de Blosc/python-blosc2
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
Nixtla/mlforecast#823 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 65/100
microsoft/ML-For-Beginners#1061 ·
-
bot-found documentation priority: P3
Dificuldade 2/5 Menos de uma hora Facilidade para iniciantes 82/100
madenvel/KalinkaPlayer#503 ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 63/100
EleutherAI/lm-evaluation-harness#4508 ·
Mantenedores costumam responder em até 1 dia