Skip to content

Conversation

Tristan-Wilson
Copy link
Member

The ChunkedAssociativeArray.Trim method had a bug where it would fail to remove all chunks when every chunk contained only values older than the trim threshold. When indexAfterStartKey returned -1, indicating all chunks should be removed, the removal loop would not execute. This caused SlidingTimeWindowArraySample-based metrics to get stuck at their last value instead of returning to zero after the time window expired. The fix adds explicit handling for the indexAfterStartKey == -1 case to ensure all chunks are properly removed when needed.

The ChunkedAssociativeArray.Trim method had a bug where it would fail to
remove all chunks when every chunk contained only values older than the
trim threshold. When indexAfterStartKey returned -1, indicating all
chunks should be removed, the removal loop would not execute. This
caused SlidingTimeWindowArraySample-based metrics to get stuck at their
last value instead of returning to zero after the time window expired.
The fix adds explicit handling for the indexAfterStartKey == -1 case to
ensure all chunks are properly removed when needed.
Copy link
Member

@joshuacolvin0 joshuacolvin0 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@eljobe eljobe merged commit 938a7ba into master Jul 21, 2025
14 checks passed
@eljobe eljobe deleted the sliding-window-metrics-expiry-fix branch July 21, 2025 13:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants