feat(worker-rejoin-resync): task 4.3 - wire query receipt and post-join gate
Add OPCode_jobStateQuery dispatch to myreq_handler with multi-page query reassembly, routing to task 4.2's xcecd_resync_answer_query() (Req 8.1, 8.3). Gate the worker's resumption of normal post-join operation on a resync_pending flag until the full report has sent (Req 3.8). Fixes bug-1749 (xcecd_resync.c was never added to the worker's production source lists - task 4.2's build only ever exercised it via the test binary's white-box include). Round 1 review caught bug-1750: the gate sat as checking_connection()'s entry guard, so a connection drop mid multi-page query left resync_pending stuck forever, permanently disabling the worker's only reconnect mechanism (Req 6.1 violation). Round 2 narrows the gate to guard only the rejoin action, and resets it from xcecd_on_reconnect() so a stalled query can never wedge it past one reconnect cycle. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Y4M5MJM2zK6nU43da267Ku
This commit is contained in:
parent
cfe58c3dcf
commit
5b69973677
8 changed files with 1161 additions and 34 deletions
|
|
@ -7,6 +7,7 @@ xcecd_worker_srcs = [
|
|||
'src/static_array.c',
|
||||
'src/xcecd_cgroups.c',
|
||||
'src/xcecd_worker_utils.c',
|
||||
'src/xcecd_resync.c',
|
||||
'src/controller_connector.c',
|
||||
'src/xcecd_dbus_manager.c',
|
||||
'src/xcecd_db.c',
|
||||
|
|
@ -84,6 +85,7 @@ xcecd_srcs = [
|
|||
'src/controller_connector.c',
|
||||
'src/resource_sync.c',
|
||||
'src/xcecd_worker_utils.c',
|
||||
'src/xcecd_resync.c',
|
||||
'src/hardware_monitor.c',
|
||||
'src/node_information.c',
|
||||
'src/job_information.c'
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue