Skip to content

CI: stop and retry dataset preparation when a download stalls - #267

Open
yl231 wants to merge 1 commit into
mainfrom
ci/dataset-prep-retry
Open

yl231 wants to merge 1 commit into
mainfrom
ci/dataset-prep-retry

Conversation

@yl231

@yl231 yl231 commented Oct 31, 2026

Copy link
Copy Markdown
Contributor

For review; not merged.

The problem. prep_datasets.py downloads RouterArena and LiveCodeBench data from Hugging Face, and those downloads occasionally stall without failing. Today (Oct 31) that hung several jobs at Prepare dataset:

  • two website syncs, for more than 90 minutes each;
  • a re-grade job, for more than an hour.

Runs of the same step a minute earlier finished in about three minutes. The /evaluate workflow runs the same step, so a submitter's evaluation could hang the same way.

The change. scripts/process_datasets/prepare_datasets.sh runs prep_datasets.py with a time limit and retries:

  • 15 minutes per attempt (PREP_TIMEOUT), up to 3 attempts (PREP_ATTEMPTS), 15 seconds apart;
  • a stalled attempt is stopped and retried;
  • after the last attempt fails, it exits 1.

The /evaluate, re-grade and website-sync workflows call it in place of the direct prep_datasets.py call.

Testing.

  • A stand-in that hangs on its first two calls succeeded on the third attempt (exit 0).
  • With two attempts, it gave up and exited 1.
  • shellcheck and actionlint pass.

🤖 Generated with Claude Code

prep_datasets.py's Hugging Face downloads occasionally stall without
failing. On Oct 31 this hung two website syncs for over 90 minutes and a
re-grade job for over an hour, each at "Prepare dataset", while other runs
of the same step a minute apart finished in about three minutes.

scripts/process_datasets/prepare_datasets.sh runs prep_datasets.py with a
time limit (15 minutes per attempt by default) and up to three attempts.
The /evaluate, re-grade and website-sync workflows call it instead of the
script directly.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant