Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

[BUG] Failed archive extraction deletes the dataset cache

Aperta Adatta ai principianti
#4,674 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

@dajiaohuang ci sta già lavorando.

Dal 23/10/2026.

  • #4675 di @dajiaohuang — aperta

Valutazione

Difficoltà
2/5
Tempo stimato
1-3 ore
Idoneità per principianti
78/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
python
Ambito
data

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

  1. Put an existing sentinel file (or another cached dataset) in the extraction destination.
  2. Trigger an extraction failure after extraction has started (for example, a malformed or unextractable local archive).
  3. 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

Apri in Codespaces

Avvia il container di sviluppo del progetto nel browser, con il tuo account GitHub.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di alibaba/GraphScope

Tutte le issue di alibaba/GraphScope

Issue simili

Altre issue su C++

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.