[Internal] Change Feed: Fixes estimator diagnostics #1930
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.
Description
The Estimator was using a Partitioner to issue concurrent estimations and construct the result pages, but the diagnostics were being added concurrently through a thread-unsafe method.
This PR removes the Partitioner (which really was not adding any benefit) and makes sure the diagnostics are added non-concurrently.
This PR also removes flakyness in tests at https://github.com/Azure/azure-cosmos-dotnet-v3/blob/master/Microsoft.Azure.Cosmos/tests/Microsoft.Azure.Cosmos.Tests/ChangeFeed/ChangeFeedEstimatorIteratorTests.cs due to randomly not having the expected diagnostics.
Type of change
Please delete options that are not relevant.