Closed TheDeafCreeper closed 1 year ago
Oh wait this might actually just be in the algorithm (darn copy paste)
Well it was sort of that, but also because it's persistent so it is force iterated. I'll make a PR with a fix for non persistent MOST_CONNECTION families though.
Something that I think needs to be addressed eventually for the MOST_CONNECTION algorithm is that. If a server is full, the load balancer will still put it at the top. When in reality it should be either moved to the bottom of the stack or removed completely until it no-longer becomes full. Otherwise, the only way to allow players to join that particular family is to enable persistence with a crazy high attempt number
I don't think this is a bug persay, but when a player joins a server it will always move the current server pointer even if the balancing algorithm results in the current server being the best one to join.
Main thing this impacts is the
MOST_CONNECTION
algorithm, as if two players join a family with multiple servers within a few seconds of each other (basically until the family re-sorts itself), they end up in different servers.Current Behavior (Family set to
MOST_CONNECTION
)Expected Behavior (Family set to
MOST_CONNECTION
)The current behavior works fine for
ROUND_ROBIN
andLEAST_CONNECTION
as when a player joins a server the "correct" server will change, howeverMOST_CONNECTION
want's everyone in the same server until it fills up.