[BUG] Dataset downloader reports success and replaces data after a failed download

Abierto
#2,276 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

@0z5a ya está trabajando en esto.

Desde el 4/11/2026.

  • #2277 de @0z5a — abierto

Evaluación

Dificultad
3/5
Tiempo estimado
1-2 días
Aptitud para principiantes
75/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
bash
Área
data, devops

Línea de trabajo

Start with datasets/get_test_data.sh and trace the download, extraction, and destination replacement steps for each selected dataset. Reproduce the failure using the temporary directory and fake wget command in the issue body, then check that failed downloads or extraction return a nonzero status and preserve existing data. Done means the same behavior holds for every selected dataset.

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

Descripción

Describe the bug

datasets/get_test_data.sh can return exit status 0 after a download fails, while removing and recreating an existing destination directory. A developer can therefore lose the prior dataset and receive a success status even though the replacement was never downloaded or extracted.

Steps to reproduce

From a source checkout, this uses a temporary directory and a fake wget; it does not touch an existing dataset or make a network request:

task_dir=$(mktemp -d)
mkdir -p "$task_dir/bin" "$task_dir/work/cvrp"
cp datasets/get_test_data.sh "$task_dir/work/"
printf 'existing data\n' > "$task_dir/work/cvrp/sentinel"
printf '#!/bin/sh\nexit 8\n' > "$task_dir/bin/wget"
chmod +x "$task_dir/bin/wget"
(
  cd "$task_dir/work"
  env -u CUOPT_S3_URI -u CUOPT_AWS_ACCESS_KEY_ID -u CUOPT_AWS_SECRET_ACCESS_KEY \
    PATH="$task_dir/bin:$PATH" ./get_test_data.sh --cvrp
  printf 'exit status: %s\n' "$?"
  if test -f cvrp/sentinel; then echo 'original preserved'; else echo 'original removed'; fi
)

Observed: the script reports a failed download and missing archive, prints exit status: 0, and prints original removed.

Expected behavior

Report a nonzero status when a selected dataset cannot be downloaded or extracted, and preserve an existing destination unless a complete replacement is ready. The same distinction should hold for any selected dataset, not just CVRP.

Environment and scope

Reproduced on Linux against main at 52d14b4c97de5591a8054ef1971a92e10617aed7. The fake-download case exercises the HTTP fallback in a disposable directory. An isolated ordinary run also observed an HTTP 404 followed by status 0; the issue is the script's failure handling rather than the availability of any particular external URL.

Lenguaje dominante
Cuda
Estrellas
1.1k
Forks
255
Merge medio
1 d 11 h
PR fusionados (30 d)
123

Preparar el entorno

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 NVIDIA/cuopt

Todos los issues de NVIDIA/cuopt

Issues similares

Más issues de Data Engineering

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.