Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

Invalid --chunks/--shards arguments to b2nd-to-zarr deletes destination with --force

Ouverte Adaptée aux débutants
#731 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

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
Type d'issue
Bug
Clarté
Clairement spécifiée
Activité
Active
Stack technique
python
Domaine
data

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

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de Blosc/python-blosc2

Toutes les issues de Blosc/python-blosc2

Issues similaires

Plus d'issues Python

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.