Skip to content

mempool: Prune old vote metadata. - #3805

Merged
davecgh merged 3 commits into
decred:masterfrom
davecgh:mempool_prune_vote_metadata
Oct 7, 2026
Merged

davecgh merged 3 commits into
decred:masterfrom
davecgh:mempool_prune_vote_metadata

Conversation

@davecgh

@davecgh davecgh commented Sep 23, 2026

Copy link
Copy Markdown
Member

This requires #3804.

The vote metadata that is retained independently of the vote transactions is currently retained indefinitely which means it slowly grows over time without bound as the chain advances.

This remedies that by implementing pruning such that vote metadata is removed once the referenced block is sufficiently far behind the current best height. The pruning threshold is aligned with the existing vote retention policy.

It also includes extensive tests for the vote pruning logic.

@davecgh davecgh added this to the 2.2.0 milestone Sep 23, 2026
This updates the test helper for the expected membership in the regular
and orphan pools to use the more modern t.Helper instead of the
extremely outdated runtime.Caller approach.
The vote metadata that is retained independently of the vote
transactions is currently retained indefinitely which means it slowly
grows over time without bound as the chain advances.

This remedies that by implementing pruning such that vote metadata is
removed once the referenced block is sufficiently far behind the current
best height.  The pruning threshold is aligned with the existing
vote retention policy.
This adds extensive tests for vote pruning to include removal from the
transaction pool as well as the associated vote metadata.  It includes
tests which exercise various semantics such as multiple votes for a
single block, retention of recent votes, and heights the height
immediately below, exactly at, and immediately above the retention
threshold.

It also includes a separate test for the boundary cases that does not
rely on the full test harness.
@davecgh
davecgh force-pushed the mempool_prune_vote_metadata branch from c9ee0da to cd33677 Compare October 7, 2026 21:25
@davecgh
davecgh merged commit cd33677 into decred:master Oct 7, 2026
32 checks passed
@davecgh
davecgh deleted the mempool_prune_vote_metadata branch October 7, 2026 21:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants