Current tests do not cover several LiveNodes refresh and startup edge cases in the update_live_nodes path and discovery startup flow.
Include:
- empty
/localnodes with no fallback leaves the current live node list unchanged
- failed
/localnodes request retries remaining candidates in the same scope
- seed nodes are retried when all current live nodes fail
- total refresh failure does not wipe out the previous known-good node list
- concurrent first access starts discovery exactly once
Expected outcome:
- refresh failure and fallback behavior is pinned directly
- existing live node state is preserved on empty or failed refreshes
- seed fallback works as intended
- concurrent startup does not spawn duplicate discovery tasks
Part of #41.
Current tests do not cover several
LiveNodesrefresh and startup edge cases in theupdate_live_nodespath and discovery startup flow.Include:
/localnodeswith no fallback leaves the current live node list unchanged/localnodesrequest retries remaining candidates in the same scopeExpected outcome:
Part of #41.