fix: handle zero bucket counts in ExponentialHistogram merge #4459
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.
Which problem is this PR solving?
This PR fixes a bug in the exponential histogram merge operation where the source histogram has empty bucket counts. The bucket index was not being set properly in this case, and depending on the histogram being merged, it can lead to corrupted counts in the resulting histogram.
Fixes #4450
Short description of the changes
Added special case handling for the zero-length bucket counts case in the
_incrementIndexBy
method.Type of change
Please delete options that are not relevant.
How Has This Been Tested?
Added a unit test that replicates a real world failure that exhibits this issue. If you comment out the changes added to
_incrementIndexBy
you will see the newly added test fail.Checklist: