2.7 KiB
| id | status | status_updated | status_note | component | severity | timestamp | last_seen | occurrences | files | tags | related | fix_commits | legacy | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| bug-1725 | fixed | 2026-10-03 | xceadmin | unknown | 2026-08-28T00:00:00Z | 2026-10-03T07:45:06Z | 2 |
|
|
|
|
true |
bug-1725: After bug-1724's fix made…
Description
After bug-1724's fix made test_live_config_push_against_standby_returns_standby_rejection_not_redirect actually execute (previously always skipped), it FAILED for real: pushing config to a standby now redirects to the primary and succeeds, contradicting the test's own hard-coded 'standby flatly rejects, no redirect' assertions. Separately, the rewritten success-path test's reused _assert_primary_committed() helper intermittently failed its 4th assertion ('config activated from committed marker tag=...' not found in the primary's log immediately after the push CLI returned success).
Environment
Not recorded (migrated from buglog.json).
Reproduction
Not recorded (migrated from buglog.json).
Root cause
Corrected 2026-10-03. Part (1) of the original entry (stale standby-redirect assertion) was fixed earlier. Part (2), the recurring flake: the controller replies to the push before two of the lines the tests assert are logged — "Config upgraded to tag=" is logged right after xce_reply() (config_repl.c ~1865-1873) and "config activated from committed marker" comes from config_activate_committed() (config_repl.c ~376) on the asynchronous WAL apply pump. test_e2e_live_push.py read the log once with no polling (the 2026-10-03 recurrence), and the HA helper polled only for the activation line, not "Config upgraded".
Fix
Shared assert_primary_committed() in src/xceadmin/tests/_live_e2e_common.py polls (5 s) until the commit, upgrade and activation lines are all present, then asserts each; both live tests use it. Fix commit 362098b1.
Verification
- Test: helper unit tests in
src/xceadmin/tests/test_live_e2e_common.py(lines logged after the reply are waited for; missing activation line fails; missing "Config upgraded" line fails) — the old single-read and activation-only patterns fail deterministically when the late lines are written 0.3 s after the read; GREEN after. Live tests looped 95 runs (incl. heavy CPU load) with 0 bug-1725 failures. - Suites: xceadmin 373 passed, 2026-10-03.
- Live: n/a
References
- Related: bug-1724, bug-1700, bug-1701, bug-1468