vip-upgrade netns: the epoch read is single-shot #133
Labels
No labels
accessibility
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Keel-Linux/keel#133
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
In tests/test_vip_upgrade_netns.py::TestUpgradesKeepTheVip::test_b_etcd_restarted_on_each_member_in_turn,
epoch()asks C for the VIP claim with one agent_send (tests/vip_upgrade_netns.py). The "epoch" handler does one linearizable etcd read over the lossy link (250 ms, 2% loss); when the read outlasts its 2 s timeout it answers {"error": ...} with no "epoch" key, and the driver records epoch_before = None. The assertion assertIsNotNone(one["epoch_before"]) then fails even though the VIP never moved (holders_seen "A" throughout).Evidence: 2026-10-09, run 37966794940 job 113943040489 (PR #132, product code = main). The driver already carries the same fix pattern for upgrade-check (healthy_when_asked, keel#94) and the vip scenario retries etcd-timeout phrases; the epoch read wants the same treatment: retry while the answer holds no epoch, bounded. Refs keel#94.