Repository navigation
TEST: wait for independent converter send completion - #3220
Merged
Roman Lutz (romanlutz) merged 2 commits intoOct 17, 2026
Merged
Roman Lutz (romanlutz) merged 2 commits into
Roman Lutz (romanlutz) merged 2 commits into
Conversation
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 18f4b401-48f9-4728-995f-db1431157452
Richard Lundeen (richlundeen)
marked this pull request as ready for review
October 15, 2026 16:00
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: b295a028-f94c-44a6-bf9e-818291c413cc
Roman Lutz (romanlutz)
approved these changes
Oct 17, 2026
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.
Description
Wait for the independent message send to complete in
test_converter_protection_is_per_instance_asyncinstead of cancelling it after three seconds. The existing 10-second class watchdog remains unchanged.The independent send uses real SQLite storage. Its completion time is not the property under test. The shared converter stays blocked until the independent send completes, and the test still checks that only one shared-converter invocation has entered and both shared-instance sends remain pending. The final completion and resource-cleanup assertions are unchanged. No production behavior changes.
The historical CI failure occurred at
asyncio.wait_for(peer.add_message_async(...), timeout=3), not at a concurrency assertion. Example: merge-group run 38624189549, attempt 1,build_and_test,main-job (macos-latest, 3.11, pyrit, dev_all), stepRun unit tests. The failing case wastests/unit/backend/test_message_send_service.py::TestConcurrentMessages::test_converter_protection_is_per_instance_async[request], withTimeoutError. The same failure also occurred on a push to main. The traceback identifies the deadline that failed, but does not establish the underlying cause of the delay.Merged
mainat8283aaccd99ac6969aef5933d2bf57a8d534fee8into this branch inba3bc3e7232fccbf059d5e07153534aeec9d82b6. The diff against that main revision remains one insertion and three deletions in this test file.This fix is still needed after #3268: that PR was narrowed before merging, and its final changes do not touch this test or its three-second wait. Earlier PRs #3011 and #3015 changed other message-send tests; #3203 changed a shared completion helper that this wait does not use.
Category:
test-defect.merge-queue-fix fingerprint: tests/unit/backend/test_message_send_service.py::TestConcurrentMessages::test_converter_protection_is_per_instance_async
Tests and Documentation
Validation of the merged change on Windows with Python 3.12.13:
uv run --frozen --no-sync python -m pytest -n 4 --dist=loadfile tests\unit\backend\test_message_send_service.py tests\unit\backend\test_manual_send_scheduler.py -q: 198 passed.uv run --frozen --no-sync ruff check tests\unit\backend\test_message_send_service.py: passed.uv run --frozen --no-sync ruff format --check tests\unit\backend\test_message_send_service.py: passed, one file already formatted.uv run --frozen --no-sync ty check --output-format concise tests\unit\backend\test_message_send_service.py: passed.git diff --cached --checkbefore committing the merge: passed.The original macOS CI failure was not reproduced locally. The full unit suite, all-files pre-commit, and macOS execution were not rerun for this merge. New-head CI results are separate from the earlier head's results.
The existing regression test is updated; no product documentation changes are required. JupyText is not applicable because no notebooks or executable documentation samples changed.