Summary
Wire the 5 process_incoming_event arms that are pure local queries or waiter-resolves: GetMaxLevelOp, RetMaxLevelOp, GetNeighborOp, RetNeighborOp, SetLinkOp.
Reference
Algorithm detail: docs/protocol/concurrent-insert.md, Sections 3.1 and 3.2.
Scope
src/node/base_node.rs — 5 new match arms in EventProcessorCore::process_incoming_event.
Acceptance Criteria
GetMaxLevelOp and GetNeighborOp answer directly from local table state, with no forwarding.
RetMaxLevelOp, RetNeighborOp, and SetLinkOp each resolve the correct pending waiter by Nonce, no-op (not an error) if no waiter is found, matching the existing SearchByIdResponse resolve-or-no-op structure; additionally emit a trace log on the no-waiter path (a new addition — SearchByIdResponse today does not log this case).
- One test per arm (5 tests total).
Depends on
Dependency graph (unblocked first):
EPIC #81 -- local search & join protocol
#67 [DONE] search_by_id #71 [OPEN] search_by_mem_vec (independent)
#74 [OPEN] search_by_id timeout fix #76 [OPEN] delete/leave
Concurrent join + repair (Algorithm 2 + Algorithm 8; supersedes closed #66, #77):
L0 (no deps): #84 #85 #93 #86 #87
L1: #94 #88 #89
L2: #90 #91 <-- YOU ARE HERE #95 #96
L3: #92
L4 (acceptance gate): #97
Summary
Wire the 5
process_incoming_eventarms that are pure local queries or waiter-resolves:GetMaxLevelOp,RetMaxLevelOp,GetNeighborOp,RetNeighborOp,SetLinkOp.Reference
Algorithm detail:
docs/protocol/concurrent-insert.md, Sections 3.1 and 3.2.Scope
src/node/base_node.rs— 5 new match arms inEventProcessorCore::process_incoming_event.Acceptance Criteria
GetMaxLevelOpandGetNeighborOpanswer directly from local table state, with no forwarding.RetMaxLevelOp,RetNeighborOp, andSetLinkOpeach resolve the correct pending waiter byNonce, no-op (not an error) if no waiter is found, matching the existingSearchByIdResponseresolve-or-no-op structure; additionally emit a trace log on the no-waiter path (a new addition —SearchByIdResponsetoday does not log this case).Depends on