Skip to content

dnsdist-2.1: Backport 17382 - Fix a data race on concurrent CDB KVS lookups#17414

Merged
rgacogne merged 1 commit into
PowerDNS:rel/dnsdist-2.1.xfrom
rgacogne:ddist21-backport-17382
May 21, 2026
Merged

dnsdist-2.1: Backport 17382 - Fix a data race on concurrent CDB KVS lookups#17414
rgacogne merged 1 commit into
PowerDNS:rel/dnsdist-2.1.xfrom
rgacogne:ddist21-backport-17382

Conversation

@rgacogne
Copy link
Copy Markdown
Member

Short description

Backport #17382 to dnsdist-2.1.x

Checklist

I have:

  • read the CONTRIBUTING.md document
  • read and accepted the Developer Certificate of Origin document, including the AI Policy, and added a "Signed-off-by" to my commits
  • compiled this code
  • tested this code
  • included documentation (including possible behaviour changes)
  • documented the code
  • added or modified regression test(s)
  • added or modified unit test(s)
  • checked that this code was merged to master

Contrary to the assumption that was made by the existing author (me!),
`tinycdb` structures are not safe to use concurrently from more than
one thread, even for reading, as they hold data related to the current
search (current position, mostly).
This will have a performance impact for heavy users of the CDB KVS store,
so perhaps a follow-up PR might be needed to have a per-thread CDB instance
instead.

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
(cherry picked from commit 20ae89b)
@rgacogne rgacogne merged commit a6f354a into PowerDNS:rel/dnsdist-2.1.x May 21, 2026
19 checks passed
@rgacogne rgacogne deleted the ddist21-backport-17382 branch May 21, 2026 12:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants