docs(adr): record the #3517 tombstone re-check under the lock in ADR-0787
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 1/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 88/100
- Issue type
- Documentation
- Clarity
- Clearly specified
- Activity status
- Active
- Tech stack
- python
- Domain
- documentation
Research direction
Read docs/adr/0787-abortable-finalize-proof-checkpoint.md around lines 267–271 and compare it with the tombstone check in src/kdive/providers/local_libvirt/lifecycle/boot/external_boot.py around lines 4392–4397. Add a short amendment under the existing #3492 passage citing #3517 and PR #3556; done means the ADR says the tombstone is re-validated under the lock and a concurrent finalize makes the record fail.
Written by the indexing model from the issue text.
Description
Problem
ADR-0787 describes the lock around record_cleanup_quarantine (#3492) as re-reading only the receipt. The code now also re-validates the tombstone under the lock, so a finalize that completes first fails the record instead of leaving a receipt in a tombstone-less directory.
Evidence
- docs/adr/0787-abortable-finalize-proof-checkpoint.md:267-271: "#3492 extends the lock there: record_cleanup_quarantine takes it, re-reads the receipt under it and returns on a managed one"; no mention of the tombstone re-read.
- src/kdive/providers/local_libvirt/lifecycle/boot/external_boot.py:4392-4397: after
flock,self._read_tombstone(directory_fd) != expectedraises "cleanup tombstone does not match recovery point" (#3517).
Expected
The ADR sentence also states that the tombstone is re-validated under the lock and that a concurrent finalize makes the record fail.
Proposed approach
Append a short amendment under the existing #3492 passage citing #3517/PR #3556.
Provenance
Follow-up from campaign 4c2c8dc9e59d-7f9a87f5-2251-458a-bb30-04fbb2d4b05c.
- Dominant language
- Python
- Stars
- 0
- Forks
- 0
- Avg merge
- 9h 13m
- Merged PRs (30d)
- 197
Getting set up
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from randomparity/kdive
-
area:core-platform effort:S priority:P3 risk:night-safe status:ready type:test
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
randomparity/kdive#3620 ·
Maintainers usually reply within 1 day
-
area:providers effort:S priority:P3 risk:night-watch status:ready type:docs
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
randomparity/kdive#3618 ·
Maintainers usually reply within 1 day
-
area:core-platform effort:S priority:P3 risk:night-safe status:ready type:test
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
randomparity/kdive#3603 ·
Maintainers usually reply within 1 day
-
area:providers effort:S priority:P3 risk:night-safe status:ready type:docs
Difficulty 1/5 1-3 hours Newbie friendliness 82/100
randomparity/kdive#3593 ·
Maintainers usually reply within 1 day
-
area:providers effort:S priority:P3 risk:night-safe status:ready type:refactor
Difficulty 1/5 Under an hour Newbie friendliness 84/100
randomparity/kdive#3592 ·
Maintainers usually reply within 1 day
All issues in randomparity/kdive
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
FinanceFlash/unvibecode#760 ·
Maintainers usually reply within 1 day
-
Difficulty 1/5 Under an hour Newbie friendliness 88/100
google-research/google-research#3470 ·
Maintainers usually reply within 21 days
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
Maintainers usually reply within 1 day
-
Difficulty 1/5 Under an hour Newbie friendliness 88/100
mrvautin/ha-workouts#11 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
laramies/theHarvester#2666 ·
Maintainers usually reply within 3 days