Fix race condition when posting CronetMetrics #2191
Merged
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.
At the end of a request, mRequestFinishedListener is used to post the CronetMetrics. Before doing so, two events must have occurred first: the "final user callback" and the "final Network callback". The Thread involved with the last of these two events is in charge of the posting the CronetMetrics - this is intrinsically racy. This PR ensures a proper behaviour.
Description: Solves CI test flakiness: unexpected java_tests_mac failure: test/java/org/chromium/net:net_tests
Risk Level: N/A (Cronet is still in development)
Testing: CI, and local multi runs
Docs Changes: N/A
Release Notes: N/A
Fixes #2136
Signed-off-by: Charles Le Borgne cleborgne@google.com