[BUG] Failed archive extraction deletes the dataset cache
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 78/100
Direzione di ricerca
Individua _extract_archive e il percorso download_file(..., extract=True) utilizzato dai loader dei dataset. Inizia esaminando il gestore degli errori di estrazione e i test esistenti per gli errori degli archivi; riproduci il problema con un estrattore sintetico che scriva un file parziale e sollevi tarfile.TarError. Il lavoro è completato quando l’errore continua a propagarsi, i contenuti preesistenti della destinazione vengono preservati e la pulizia è limitata ai file creati durante quel tentativo.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Describe the bug
When archive extraction fails, _extract_archive removes the entire destination directory. The built-in dataset downloaders extract into the shared ~/.graphscope/datasets cache, so a TarError, RuntimeError, or KeyboardInterrupt during extraction can delete previously cached datasets and other files unrelated to the archive being extracted.
To Reproduce
- Put an existing sentinel file (or another cached dataset) in the extraction destination.
- Trigger an extraction failure after extraction has started (for example, a malformed or unextractable local archive).
- Observe that the error handler calls
shutil.rmtree(path)and removes the existing destination contents.
This behavior is also reproducible with a synthetic archive/extractor that writes a partial file and raises tarfile.TarError; no remote data or service is needed.
Expected behavior
A failed extraction should propagate its error without deleting pre-existing cache contents. Cleanup should be limited to files/directories created by that extraction attempt.
Environment (please complete the following information):
- GraphScope version: current
main - OS: behavior follows the shared cache extraction path; no live dataset or service was used for this report
Additional context
The built-in loaders call download_file(..., extract=True) with the common default cache_subdir="datasets", which makes the deletion affect cache entries beyond the failing archive. The target-local regression uses only synthetic files.
- Lingua principale
- C++
- Stelle
- 3.6k
- Fork
- 470
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
Avvia il container di sviluppo del progetto nel browser, con il tuo account GitHub.
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
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 alibaba/GraphScope
-
Please add multi-tenancyApertastale
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
alibaba/GraphScope#4655 · 2 commenti ·
-
stale
Difficoltà 5/5 Più di una settimana Idoneità per principianti 38/100
alibaba/GraphScope#4654 · 2 commenti ·
-
stale
Difficoltà 4/5 3-5 giorni Idoneità per principianti 45/100
alibaba/GraphScope#4647 · 3 commenti ·
-
[BUG] IC14无法用Cypher执行Apertastale
Difficoltà 4/5 3-5 giorni Idoneità per principianti 30/100
alibaba/GraphScope#4639 · 2 commenti ·
-
stale
Difficoltà 2/5 1-3 ore Idoneità per principianti 45/100
alibaba/GraphScope#4637 · 1 commento ·
Tutte le issue di alibaba/GraphScope
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
bulletphysics/bullet3#4819 ·
-
[YSQL] Local-node initdb reads postgres.bki, but YB clusters bootstrap only from yb_postgres.bkiApertaarea/ysql kind/enhancement priority/low status/awaiting-triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
yugabyte/yugabyte-db#35763 ·
I maintainer di solito rispondono entro 1 giorno
-
[mimalloc] update to 3.6.0Apertacategory:port-update
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
I maintainer di solito rispondono entro 2 giorni
-
MinGW build faillureAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 67/100
facebookresearch/faiss#5775 · 1 commento ·
I maintainer di solito rispondono entro 2 giorni
-
Eval bug: minimax-m3: build_moe_ffn() drops the per-expert NVFP4 scale → garbled output (M3.1 Flash)Apertabug-unconfirmed
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
I maintainer di solito rispondono entro 1 giorno