fix: move PAT GitHub validation off event loop#1383
Open
bitloi wants to merge 1 commit into
Open
Conversation
4caae27 to
1690646
Compare
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.
Summary
Move validator-side PAT GitHub validation and test-query work off the axon event loop with
asyncio.to_thread.Root cause:
handle_pat_broadcastandhandle_pat_checkare async axon handlers, but they called synchronous GitHub/uservalidation and GraphQL test-query helpers directly. A slow or timing-out GitHub request could stall unrelated axon coroutines until the blockingrequestscall and retry sleeps completed.Changes:
asyncio.to_threadpattern already used elsewhere in the repo.awaitpoints widens the gap between the existing pin check andsave_pat, so this preserves the hotkey identity lock under concurrent broadcasts.Related Issues
Fixes #1386
Type of Change
Testing
Commands run on the latest revision:
Results:
Earlier full-branch validation before the final
asyncio.to_threadcleanup:Checklist