Lowering ack callback to avoid race condition#6012
Merged
Conversation
davidh44
approved these changes
Apr 9, 2025
Contributor
davidh44
left a comment
There was a problem hiding this comment.
Just to check, we don't see any failures with schedulingDelayDoesNotCausePingTimeout() and don't need to make a similar change there?
Contributor
Author
|
I re-scanned our logs and in the last 10 we saw 9 total failures for |
davidh44
approved these changes
Apr 10, 2025
|
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.


Motivation and Context
This PR addresses an intermittent test failure in
Http2PingHandlerTest.delayedPingFlushDoesntTerminateConnectionPrematurely(). The test was occasionally failing with a PingFailedException due to timing issues between ping scheduling, and delayed writes. The test verifies that a delayed ping flush doesn't prematurely terminate the connection, but the race condition in the test setup was causing inconsistent results.Testing
Even though this test failed intermittently in our CI builds, I ran the test locally with
@RepeatedTest(1000)before making changes and observed a 100% success rate locally.While this wont deterministically solve the issue, the change aims to make these failures even more rare by reducing the response time window.