Repository navigation
Replies: 1 comment
|
Hey @wmxl |
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
dynamicRefreshSources defaults to true and currently does two things:
(2) makes sense on first load, when the seed is usually one or two nodes. Without that second pass you get a full topology but latency / client-count only for the seeds, so ReadFrom.LOWEST_LATENCY and “connect to the node with the fewest clients” cannot see the rest of the cluster.
It is much weaker on a later refresh. The seed is already the current Partitions. The second pass only hits nodes that just appeared. Their stats would be collected next period anyway. The only gain is seeing those stats one period earlier. The cost is a topology view from a node that may have been CLUSTER MEET’d moments ago, whose roles / slots / replicas may still be catching up even when the node list already looks complete.
Possible change: keep (1), run (2) only when the seed is still initialUris (first load). First load stays the same. New-node latency / client-count would land one refresh later.
I may well be missing something. Are there cases where the second pass should still run on every refresh, not just the first load?
All reactions