This is about refactoring the way the directory server chooses the
replication server it will connect to. This also introduces a new
(weighed) load balancing feature that spreads DS connections across the
RSs, according to the RS weights defined by the administrator,
Issue 4343: https://opends.dev.java.net/issues/show_bug.cgi?id=4343
The commit includes necessary modifications for implementing what is
described in this document:
https://www.opends.org/wiki/page/ReplicationServerSelection
There is a little "implementation" section in this document that
explains some important stuff.
Also good to know for these code modifications:
- The topology info related to RSs and kept by the ReplicationBroker is
now fully kept in a new map of a new ReplicationServerInfo bag class.
This map is updated upon reception of a TopologyMsg.
- Protocol change: the TopologyMsg now includes the RS url in the RSInfo
list
- The dynamic change of the weight of a RS triggers a new TopologyMsg
being fired, to support dynamic change of weights and automatic topology
re-connections
- SameGroupIdPoller thread has disappeared and its functionality is
replaced by the mechanism that re-evaluates the more suitable RS (see
section 5, in the document for more details)