Invalid --chunks/--shards arguments to b2nd-to-zarr deletes destination with --force
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 2/5
- Temps estimé
- 1-3 heures
- Accessibilité débutants
- 68/100
Piste de recherche
Commencez par localiser l’implémentation de la commande b2nd-to-zarr et déterminer où elle supprime la destination avec --force par rapport à son appel à zarr.create_array. Reproduisez l’échec à l’aide des commandes shell de l’issue, notamment --chunks 30 --shards 50 --force. Le travail est terminé lorsque des arguments invalides ne provoquent plus la disparition de la destination existante en cas d’échec de la conversion.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
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
- Langage dominant
- Python
- Étoiles
- 211
- Forks
- 66
- Merge moyen
- 2 j 1 h
- PR mergées (30 j)
- 15
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Aucun modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de Blosc/python-blosc2
-
documentation sustain-2026
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
Blosc/python-blosc2#720 · 3 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
sustain-2026
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
Blosc/python-blosc2#717 ·
Les mainteneurs répondent en général sous 1 jour
-
documentation sustain-2026
Difficulté 2/5 1-3 heures Accessibilité débutants 80/100
Blosc/python-blosc2#714 ·
Les mainteneurs répondent en général sous 1 jour
-
documentation sustain-2026
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
Blosc/python-blosc2#710 ·
Les mainteneurs répondent en général sous 1 jour
-
documentation sustain-2026
Difficulté 3/5 1-2 jours Accessibilité débutants 70/100
Blosc/python-blosc2#722 ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de Blosc/python-blosc2
Issues similaires
-
enhancement
Difficulté 2/5 1-3 heures Accessibilité débutants 85/100
epam/ai-dial-quickapps-backend#628 ·
Les mainteneurs répondent en général sous 2 jours
-
0xlau.dev 已失效,切换成 timlau.meOuverte
Difficulté 1/5 Moins d'une heure Accessibilité débutants 69/100
timqian/chinese-independent-blogs#2235 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
eclipse-score/coverage_tool#27 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
bojieli/ai-agent-book#1174 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
RedHatQE/mtv-api-tests#721 ·
Les mainteneurs répondent en général sous 1 jour