Kmontemayor/graph store stall fix#719
Draft
kmontemayor2-sc wants to merge 2 commits into
Draft
Conversation
Add a per-channel in-flight submission cap to the shared graph-store sampling worker's scheduler so the single scheduler thread stays wait-free at high fan-out. - worker_concurrency loop-local mirrors the sampler's bounded semaphore. - _is_channel_parked_locked: a channel with worker_concurrency batches submitted-but-not-completed is "parked". - _submit_one_batch PARKs (returns False, no re-enqueue) instead of issuing a submit that could block the scheduler on a saturated output channel; re-enqueue now goes through the membership-guarded helper to avoid a duplicate round-robin turn. - _on_batch_done WAKEs a parked channel by re-enqueueing it once an in-flight slot frees -- the sole wake path. - Phase 3 idle wait, both worker/backend signatures, and the plain round-robin pump body are unchanged from main. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Adds the GLT-order-faithful regression tests that guard the per-channel in-flight cap against the cross-rank deadlock it fixes. The shared harness (_BoundedBlockingChannel, _GltOrderFakeSampler, _CountingTaskQueue) drives the real _shared_sampling_worker_loop with a paused consumer whose channel saturates and whose coroutines wedge in send, holding the sampler semaphore. StallFixWorkerLoopTest then asserts the co-located active channel keeps completing epochs and commands keep draining, and that a parked channel idles on Phase 3's timed wait instead of busy-spinning. Also give the existing worker-loop base test a real int worker_concurrency so the parked-channel check does not compare against a MagicMock. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Collaborator
Author
|
/all_test |
Contributor
GiGL Automation@ 17:49:30UTC : 🔄 |
Contributor
GiGL Automation@ 17:49:31UTC : 🔄 @ 18:56:30UTC : ✅ Workflow completed successfully. |
Contributor
GiGL Automation@ 17:49:31UTC : 🔄 @ 17:51:29UTC : ✅ Workflow completed successfully. |
Contributor
GiGL Automation@ 17:49:32UTC : 🔄 @ 17:59:06UTC : ✅ Workflow completed successfully. |
Contributor
GiGL Automation@ 17:49:32UTC : 🔄 @ 20:09:37UTC : ❌ Workflow failed. |
Contributor
GiGL Automation@ 17:49:32UTC : 🔄 @ 18:00:08UTC : ✅ Workflow completed successfully. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Scope of work done
Where is the documentation for this feature?: N/A
Did you add automated tests or write a test plan?
Updated Changelog.md? NO
Ready for code review?: NO