[CONTROLLER-1733] Add re-balancing of Entities Created: 30/Jun/17  Updated: 06/Sep/21

Status: Confirmed
Project: controller
Component/s: eos
Affects Version/s: Carbon
Fix Version/s: None

Type: New Feature
Reporter: hege Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All



 Description   

I have a cluster with three members and create six entities. Every cluster member registers these entities. When the cluster is running normally, each member owns two entities and the cluster is load balanced.
Situation one: I use Iptables command to isolate member1. Now member2 and member3 both own three entities and candidate member1 doesn't disappear. But when member1 is back to the cluster. It doesn't own any entity. So when the network shock happens, the load balanced can not guaranteed.
Situation two: When I kill and restart the app on member1. It doesn't own any entities too.

Steps to reproduce,
1. Bring up a 3 node cluster
2. Kill the controller process for member-1.(Or isolate the member-1 network)
3. Now the member-2 and member-3 both have three entities. Candidate member-1 still alive but it doesn't own any entities.
4. Restart the member-1(Or recovery the member-1 network)
5. Member-1 still doesn't own any entities. Member-2 and Member-3 both own three entities. The load balanced is destroyed.



 Comments   
Comment by Tom Pantelis [ 30/Jun/17 ]

The EOS does not load balance - the default policy is first-come, first server although there is an experimental policy to load-balance initial owner assignment. But once an owner is assigned, it stays assigned until it goes down or is isolated. Adding re-balancing, either via explicit user action or via some automated process, would be an enhancement (and we would need a contributor to implement it).

Comment by Robert Varga [ 24/Aug/17 ]

Yes, and can potentially wreck singleton service, so it needs to be a completely different policy.

Generated at Wed Feb 07 19:56:19 UTC 2024 using Jira 8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d.