Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Downloader: call Close on updates that are overwritten in (*Downlader).LoadOnce #70

Merged
merged 1 commit into from
Feb 7, 2024

Conversation

ahouene
Copy link
Contributor

@ahouene ahouene commented Jan 25, 2024

When an update that has not been loaded yet is replaced by a more recent one in (*Downloader).LoadOnce, the concurrency token issued by d.r.decompressedSnapshotLimit is lost and can no longer be released.

This eventually leads to decompressedSnapshotLimit being depleted and deadlocked, in turn locking (*Downloader).LoadOnce. In effect, a Syncer may no longer download anything while still appearing healthy.

…ader).LoadOnce`

When an update is replaced in `(*Downloader).LoadOnce`,
the concurrency token issued by `d.r.decompressedSnapshotLimit`
is lost and can no longer be accessed, and thus be released.
@ahouene ahouene requested review from wojas and Habbie January 25, 2024 16:56
@ahouene ahouene self-assigned this Jan 25, 2024
Copy link
Member

@wojas wojas left a comment

Choose a reason for hiding this comment

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

Good catch, LGTM!

@wojas wojas added the bug Something isn't working label Feb 7, 2024
@wojas wojas added this to the v0.4.3 milestone Feb 7, 2024
@wojas wojas merged commit 1e12340 into PowerDNS:main Feb 7, 2024
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants