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

オープン
#2,276 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

@0z5a がすでに取り組んでいます。

2026年11月4日 から。

  • #2277 @0z5a による — オープン

評価

難易度
3/5
見積もり時間
1〜2日
初心者へのやさしさ
75/100
issue の種類
バグ
明瞭さ
明確に書かれている
活発さ
活発
技術スタック
bash
領域
data, devops

調査の方向性

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.

索引モデルが issue の本文から書いたものです。

説明

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.

主要言語
Cuda
スター
1.1k
フォーク
249
平均マージ
1日 11時間
マージ済み PR(30日)
123

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

NVIDIA/cuopt のほかの issue

NVIDIA/cuopt の issue をすべて見る

似ている issue

Data Engineering の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。