fix(worker-rejoin-resync): task 7.5 - bound the outbound reconciliation query
Closes bug-1755: worker_send_resync_query() hardcoded pktlimit=0 in its xce_job_state_query_req() call, so the controller's outbound OPCode_jobStateQuery always sent every non-terminal job ID in one unbounded page regardless of count - the query direction never actually exercised the pagination mechanism task 1.4/7.4 proved correct, unlike the report direction's real, wired XCECD_RESYNC_REPORT_PKTLIMIT bound. Add XCE_RESYNC_QUERY_PKTLIMIT=100, mirroring that exact precedent (same value - a JobStateQuery entry is a bare jobid, smaller than a JobStateReport entry), and thread it into the one call site. Existing small-job-count behavior is unchanged; a rejoin exceeding the cap now genuinely produces multiple wire pages, proven against the real production call site (not a bypass) with a 250-job/3-page test. This is the last task in worker-rejoin-resync's implementation plan. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Y4M5MJM2zK6nU43da267Ku
This commit is contained in:
parent
613b80e991
commit
1c4cf8bd3b
4 changed files with 194 additions and 5 deletions
|
|
@ -153,7 +153,7 @@
|
|||
- _Requirements: 8.1, 8.2, 8.3_
|
||||
- _Depends: 7.1_
|
||||
|
||||
- [ ] 7.5 Wire a real page-size bound into the controller's outbound reconciliation query
|
||||
- [x] 7.5 Wire a real page-size bound into the controller's outbound reconciliation query
|
||||
- Close bug-1755, found and correctly left unfixed by task 7.4's own test-only boundary: `worker_send_resync_query()` (`src/controller/worker.c`) hardcodes `pktlimit=0` in its `xce_job_state_query_req()` call, which task 7.4 independently confirmed means "send every non-terminal job ID in one unbounded page" — so the query direction never actually paginates in production today, even though task 1.4's underlying pagination mechanism (proven correct by task 7.4's own test) fully supports it, and design.md's Boundary Commitments explicitly states both opcodes are paginated
|
||||
- Give the query send site a real, bounded page size, mirroring the worker's own already-wired `XCECD_RESYNC_REPORT_PKTLIMIT` precedent (`src/worker/src/controller_connector.c`) — same constant-driven approach, not a new configuration surface
|
||||
- Observable completion: a worker rejoin with a non-terminal job count exceeding the chosen page size produces a query genuinely sent across multiple wire pages (observably, not just theoretically supported), with the same job-count-independent completeness task 7.4 already proved at the mechanism level; a rejoin with a job count under one page still produces exactly one page, unchanged from today's observable behavior
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue