Skip to content

fix: Keep a DNS name another record set owns when deleting - #217

Merged
ecv merged 1 commit into
mainfrom
fix/delete-keeps-other-owners
Oct 3, 2026
Merged

ecv merged 1 commit into
mainfrom
fix/delete-keeps-other-owners

Conversation

@ecv

@ecv ecv commented Oct 3, 2026 •

Copy link
Copy Markdown
Contributor

Fixes #188

Summary

When two record sets of one type list the same name, the one that writes last owns it, but deleting the other record set removed the name anyway. The owner kept reporting the name as live while it stopped resolving. Deleting a record set now leaves a name another record set owns, and still removes names with no recorded owner. The owner does not re-check itself after the delete; one writer per zone (#201) closes that gap.

Test plan

  • Deleting the earlier record set keeps the name the later one owns
  • Names this record set owns, and names with no owner, are still deleted
  • CI passes, including the PowerDNS container tests

@ecv ecv changed the title Deleting a DNS record set no longer removes a name another one owns fix: Keep a DNS name another record set owns when deleting Oct 3, 2026
@ecv
ecv force-pushed the fix/delete-keeps-other-owners branch from 2e5a632 to 15dce12 Compare October 3, 2026 02:09
When two record sets of one type list the same name, the later writer
replaces the RRset and leaves its own ownership comment. Deleting the
earlier record set still removed every name in its spec, so the later
record set's name stopped resolving while it kept reporting Programmed.

Skip a spec-listed name whose ownership comment names another record
set. A name with no ownership comment is still deleted, as before.

Fixes #188
@ecv
ecv force-pushed the fix/delete-keeps-other-owners branch from 15dce12 to fb11ed1 Compare October 3, 2026 02:15
@ecv
ecv marked this pull request as ready for review October 3, 2026 02:35
@ecv
ecv requested a review from a team as a code owner October 3, 2026 02:35
@ecv
ecv requested a review from privateip October 3, 2026 02:35
@ecv
ecv enabled auto-merge October 3, 2026 02:35
@ecv

ecv commented Oct 3, 2026

Copy link
Copy Markdown
Contributor Author

pr-adversary verdict: merge, no findings. The new test passes at this head and fails on main. pr-conventions-reviewer verdict: hold, for a 57-character commit subject. The subject has since been shortened to 50 characters. Its other points were declined: the overlap with #111 is pre-existing (#111 already conflicts with main in client.go), and the human chose to ship this in the next normal release.

Applied: the commit subject shortening, in the head commit. CI: all checks passed. Auto-merge is enabled with the merge method. The ruleset requires a code owner approval and approval of the last push, so this waits for a human approval.

@ecv
ecv merged commit 26d9b29 into main Oct 3, 2026
12 checks passed
@ecv
ecv deleted the fix/delete-keeps-other-owners branch October 3, 2026 02:49
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.

Deleting a DNS record set can remove a record another one still owns

2 participants