Skip already-applied review clock steps before testing queue service
Nobody has claimed this yet.
Assessment
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 72/100
Research direction
Start in crates/registry-casework/src/review.rs and inspect the due-step loop, especially the destination service check and casework_review_clock_effects handling. Add a Postgres test covering an applied step whose destination later becomes unserved, followed by a due step to a served queue. Done means the already-applied step is skipped and the later step runs.
Written by the indexing model from the issue text.
Description
An automated review of #1189 flagged an ordering problem in the review clock worker. In crates/registry-casework/src/review.rs, the due-step loop tests casework_queue_service for the step's destination queue before the casework_review_clock_effects conflict check that would reveal the step was already applied. An unserved destination defers the whole occurrence by 30 seconds.
Failure scenario: a reassignment step is applied while its destination queue is served, and the queue later loses its service row. On the next pass the worker re-examines that already-applied step, finds the destination unserved, and defers the occurrence. It never reaches a later due step that would move the task to a currently served queue, so the occurrence stalls indefinitely.
Suggested fix:
- Load or check the applied effects before testing the destination's service coverage, and skip steps already recorded in
casework_review_clock_effects. - Add a Postgres test where a step is applied, its destination is unserved afterwards, and a later due step must still run.
Filed from the review of #1189; not merge-blocking.
- Dominant language
- Rust
- Stars
- 2
- Forks
- 0
- Avg merge
- 3h 45m
- Merged PRs (30d)
- 134
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from registrystack/registry-stack
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
registrystack/registry-stack#1239 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
registrystack/registry-stack#1235 ·
-
area:breg bug good first issue rust
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
registrystack/registry-stack#1227 ·
-
area:casework documentation
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
registrystack/registry-stack#1217 ·
-
area:breg documentation
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
registrystack/registry-stack#1213 ·
All issues in registrystack/registry-stack
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
Eynzof/Hermes-CN-Desktop#610 ·
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
gitbutlerapp/gitbutler#15998 · 1 comment ·
-
bug triage:deciding
Difficulty 1/5 Under an hour Newbie friendliness 88/100
open-telemetry/otel-arrow#4132 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100