fix(scheduler): clarify durable queued count in queue status

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

Maintainer thường phản hồi trong vòng 1 ngày

Chưa có ai nhận issue này.

Đánh giá

Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức phù hợp với người mới
45/100
Loại issue
Lỗi
Độ rõ ràng
Đặc tả rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
rust
Lĩnh vực
api, backend, testing

Hướng nghiên cứu

Start by tracing Scheduler::queue_status and JobQueries::list_dispatchable to confirm how pending and queued rows are counted in the scheduler.queue.v2 response. Then find the API contract, Control Center and monitoring consumers, fixtures, and queue status integration test. Done means the response and docs clearly distinguish planned pending rows from durable queued work, compatibility behavior is explicit, and the mixed-row integration test and required CI checks pass.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

Problem

The scheduler.queue.v2 response includes the field durable_pending, but Scheduler::queue_status sets it to the number of rows returned by JobQueries::list_dispatchable, which selects only rows whose status is queued. It does not count database rows whose status is pending.

During the 2026-10-05 live audit, the jobs table had hundreds of planned pending rows while the authenticated queue endpoint correctly reported durable_pending=0 and queued_total=0. The mismatch made the response easy to misread and initially caused the durable planned-row count to be mistaken for runnable queue backlog.

Required change

Provide an accurately named durable dispatchable count, such as durable_queued, and document the existing field semantics. Preserve compatibility with existing v2 consumers: either retain durable_pending as a deprecated alias for a documented transition window or introduce an explicit contract-versioned response change. Update Control Center and monitoring consumers and fixtures together.

Acceptance criteria

  • API and docs distinguish pending (planned DAG work) from queued (durable dispatchable work).
  • The returned durable queued count equals the count of rows whose status is queued for the same snapshot; planned pending rows do not inflate it.
  • Compatibility behavior is explicit and tested; no existing consumers break silently.
  • Queue status integration test includes a mixture of pending and queued rows and asserts the response fields.
  • Aegis and GitForge CI checks pass for the change before merge.

No production state or queue rows should be mutated for this change.

Ngôn ngữ chính
Rust
Star
1
Fork
0
Merge trung bình
1 ngày 7 giờ
Pull request đã merge (30 ngày)
32

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

Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.

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 aliasfoxkde/GitForge

Tất cả issue của aliasfoxkde/GitForge

Issue tương tự

Thêm issue về Rust

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.