Grading follow-ups from PR #394

Đang mở
#397 0 bình luận 0 reaction 1 người được giao Xem trên GitHub

@DarioDeSilva đang làm issue này rồi.

Từ ngày 27/10/2026.

Đánh giá

Issue này chưa được đánh giá.

Mô tả

A few small leftovers from the #394 review. None of them blocked the merge.

Timeout handling

  • upload_assignment_autograder still stores NULL when autograder_timeout is left out. upload_submission falls back to 300, but code_editor.py::submit_code uses the raw value, so editor submissions get no time limit at all. The fix is to store the default when the field is missing, or to resolve the timeout in one place that every grading path uses.
  • The timeout has no upper bound. A huge value fails the INTEGER column only after the image is built, and large valid values hold the assignment lock for that long. nginx cuts requests off at 300s anyway, so a cap of around 600 seems reasonable.

Grade script

  • If setpriv is missing from the image, or the autograder file is missing, the script exits 93. That gets recorded as a score-0 "Autograder Error" even though student code never ran. Exit codes 125/126/127 inside the script could map to a setup exit code instead.
  • A hang during reset or copy-in, or an exec-level 137 during setup, is still recorded against the student. This is rare and needs an infrastructure failure.
  • results.json and the autograder log have no size limit before they're read into backend memory.

Cleanup

  • Use KILLED_EXIT_CODE in the script and tests instead of a bare 137. Drop the unreachable GRADE_EXIT_TIMED_OUT entry from student_code_ran.
  • Add the submission id and partial stderr to the hung-exec warning.
  • The "Failed to prepare/cleanup container" messages now also cover Docker CLI errors. Reword them.

Stress test

  • test_submission_burst.py --cleanup deletes the assignment but leaves the generated students enrolled in the course.
Ngôn ngữ chính
Python
Star
13
Fork
0
Merge trung bình
9 ngày 7 giờ
Pull request đã merge (30 ngày)
5

Chuẩn bị môi trường

  • Có Dockerfile hoặc tệp Docker Compose
  • Không có mẫu pull request
  • Không có hướng dẫn đóng góp

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của kiat/codeAssist

Tất cả issue của kiat/codeAssist

Issue tương tự

Thêm issue về Python

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.