Skip to content

fix: prune stale timestamps from active memory buckets#1538

Merged
Priyanshu-byte-coder merged 1 commit into
Priyanshu-byte-coder:mainfrom
Midoriya-w:fix/prune-memory-buckets-stale-timestamps
May 30, 2026
Merged

fix: prune stale timestamps from active memory buckets#1538
Priyanshu-byte-coder merged 1 commit into
Priyanshu-byte-coder:mainfrom
Midoriya-w:fix/prune-memory-buckets-stale-timestamps

Conversation

@Midoriya-w
Copy link
Copy Markdown
Contributor

Closes #1477

Summary

Updated pruneMemoryBuckets to clean stale timestamps from active buckets instead of only deleting empty buckets.

Problem

Previously, pruning only removed keys when all timestamps had expired. Keys with at least one active timestamp retained all stale timestamps indefinitely, causing unnecessary memory growth over time.

Fix

  • Filter expired timestamps during every prune pass
  • Delete buckets with no active timestamps
  • Update active buckets with only the remaining valid timestamps

Result

Memory buckets no longer accumulate stale timestamps, reducing memory usage and per-request filtering overhead.

@vercel
Copy link
Copy Markdown

vercel Bot commented May 29, 2026

@Midoriya-w is attempting to deploy a commit to the PRIYANSHU DOSHI's projects Team on Vercel.

A member of the Team first needs to authorize it.

@github-actions github-actions Bot added gssoc26 GSSoC 2026 contribution type:bug GSSoC type bonus: bug fix labels May 29, 2026
@github-actions
Copy link
Copy Markdown

GSSoC Label Checklist 🏷️

@Priyanshu-byte-coder — please apply the appropriate labels before merging:

Difficulty (pick one):

  • level:beginner — 20 pts
  • level:intermediate — 35 pts
  • level:advanced — 55 pts
  • level:critical — 80 pts

Quality (optional):

  • quality:clean — ×1.2 multiplier
  • quality:exceptional — ×1.5 multiplier

Validation (required to score):

  • gssoc:approved — counts for points
  • gssoc:invalid / gssoc:spam / gssoc:ai-slop — does not score

Type labels (type:*) are auto-detected from files and title. Review and adjust if needed.
Points formula: (difficulty × quality_multiplier) + type_bonus

Copy link
Copy Markdown

@github-actions github-actions Bot left a comment

Choose a reason for hiding this comment

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

Thanks for your first PR on DevTrack! 🎉

A maintainer will review it within 48 hours. While you wait:

  • Make sure CI is passing (type-check + lint)
  • Double-check the PR description is filled out and the issue is linked
  • Feel free to ask questions in Discussions if you need help

If you find DevTrack useful, a ⭐ star on the repo is always appreciated — it helps the project grow and attract more contributors!

@Priyanshu-byte-coder Priyanshu-byte-coder added gssoc:approved GSSoC: PR approved for scoring level2 GSSoC Level 2 - Medium complexity (25 points) labels May 30, 2026
@Priyanshu-byte-coder Priyanshu-byte-coder merged commit 1f9a750 into Priyanshu-byte-coder:main May 30, 2026
4 checks passed
@github-actions
Copy link
Copy Markdown

🎉 Merged! Thanks for contributing to DevTrack.

If the project has been useful to you, a ⭐ star on the repo is the easiest way to support it — it helps DevTrack get discovered by more developers.

Keep an eye on open issues for your next contribution!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

gssoc:approved GSSoC: PR approved for scoring gssoc26 GSSoC 2026 contribution level2 GSSoC Level 2 - Medium complexity (25 points) type:bug GSSoC type bonus: bug fix

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug] pruneMemoryBuckets only removes empty keys stale timestamps within active keys accumulate indefinitely

2 participants