Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

[BUG] Failed archive extraction deletes the dataset cache

Abierto Apto para principiantes
#4,674 0 comentarios 0 reacciones 0 asignados Ver en GitHub

@dajiaohuang ya está trabajando en esto.

Desde el 23/10/2026.

  • #4675 de @dajiaohuang — abierto

Evaluación

Dificultad
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
78/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
python
Área
data

Línea de trabajo

Encuentra _extract_archive y la ruta download_file(..., extract=True) utilizada por los cargadores de datasets. Empieza por inspeccionar el manejador de errores de extracción y las pruebas existentes para fallos de archivo; reproduce el problema con un extractor sintético que escriba un archivo parcial y lance tarfile.TarError. Se considerará terminado cuando el error siga propagándose, se conserve el contenido preexistente del destino y la limpieza se limite a los archivos creados durante ese intento.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

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.

Lenguaje dominante
C++
Estrellas
3.6k
Forks
470
Métricas de merge de PR
Sin PR fusionados en 30 d

Preparar el entorno

Abrir en Codespaces

Inicia el contenedor de desarrollo del proyecto en tu navegador, con tu propia cuenta de GitHub.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de alibaba/GraphScope

Todos los issues de alibaba/GraphScope

Issues similares

Más issues de C++

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.