Summary
The Cluster Topology view reflects the topology captured at connect time and never updates. Nodes added or removed from the cluster afterward are not shown, even though a refresh loop runs every 30s.
Root cause
Regressed in #279. refreshAllClusterRegistries (the 30s loop) broadcasts clusterNodesRegistry to clients but no longer re-discovers topology first — the per-cycle updateClusterNodeRegistry call was removed. So it re-broadcasts the same stale snapshot forever.
The frontend Cluster Topology route depends on this broadcast for node topology (mount only fetches INFO/utilization stats, not the node list), so there is no other path that refreshes it.
Expected
The refresh loop should re-discover each tracked cluster's topology before broadcasting, so clients receive the current cluster nodes.
Notes
Each cluster must be re-discovered through a live client that belongs to it (topology discovery keys off the client's own CLUSTER SLOTS); clusters with no live client are left unchanged.
Summary
The Cluster Topology view reflects the topology captured at connect time and never updates. Nodes added or removed from the cluster afterward are not shown, even though a refresh loop runs every 30s.
Root cause
Regressed in #279.
refreshAllClusterRegistries(the 30s loop) broadcastsclusterNodesRegistryto clients but no longer re-discovers topology first — the per-cycleupdateClusterNodeRegistrycall was removed. So it re-broadcasts the same stale snapshot forever.The frontend Cluster Topology route depends on this broadcast for node topology (mount only fetches INFO/utilization stats, not the node list), so there is no other path that refreshes it.
Expected
The refresh loop should re-discover each tracked cluster's topology before broadcasting, so clients receive the current cluster nodes.
Notes
Each cluster must be re-discovered through a live client that belongs to it (topology discovery keys off the client's own
CLUSTER SLOTS); clusters with no live client are left unchanged.