Invalid --chunks/--shards arguments to b2nd-to-zarr deletes destination with --force
Maintainer antworten meist innerhalb von 2 Tagen
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 2/5
- Geschätzter Aufwand
- 1-3 Stunden
- Anfängerfreundlichkeit
- 68/100
Rechercherichtung
Beginne damit, die Implementierung des Befehls b2nd-to-zarr zu lokalisieren und nachzuverfolgen, wo er das Ziel mit --force im Verhältnis zu seinem Aufruf von zarr.create_array entfernt. Reproduziere den Fehler mit den Shell-Befehlen aus dem Issue, einschließlich --chunks 30 --shards 50 --force. Als erledigt gilt die Aufgabe, wenn ungültige Argumente nicht mehr dazu führen, dass das bestehende Ziel verschwindet, wenn die Konvertierung fehlschlägt.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
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
- Vorherrschende Sprache
- Python
- Sterne
- 212
- Forks
- 71
- Ø Merge
- 2 T. 15 Std.
- Gemergte PRs (30 T.)
- 12
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Keine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus Blosc/python-blosc2
-
documentation sustain-2026
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
Blosc/python-blosc2#720 · 3 Kommentare ·
Maintainer antworten meist innerhalb von 2 Tagen
-
sustain-2026
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
Blosc/python-blosc2#717 ·
Maintainer antworten meist innerhalb von 2 Tagen
-
documentation sustain-2026
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 80/100
Blosc/python-blosc2#714 ·
Maintainer antworten meist innerhalb von 2 Tagen
-
documentation sustain-2026
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
Blosc/python-blosc2#710 ·
Maintainer antworten meist innerhalb von 2 Tagen
-
documentation sustain-2026
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 70/100
Blosc/python-blosc2#722 ·
Maintainer antworten meist innerhalb von 2 Tagen
Alle Issues in Blosc/python-blosc2
Ähnliche Issues
-
bug P2 rust
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
Maintainer antworten meist innerhalb von 1 Tag
-
enhancement
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
jscott3201/rusty-bacnet#2085 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 84/100
evarness-ai/iris-harness#401 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
sistemicorp/scripts#62 ·
-
area/mac help wanted needs-qa
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 76/100