mirror of https://github.com/OpenIdentityPlatform/OpenDJ.git

gbellato
16.41.2009 2b6d9196406b28e334b525e5e7642d71a9722a4f
refs
author gbellato <gbellato@localhost>
Friday, October 16, 2009 08:41 +0200
committer gbellato <gbellato@localhost>
Friday, October 16, 2009 08:41 +0200
commit2b6d9196406b28e334b525e5e7642d71a9722a4f
tree 49f7932b1e9bd3b0c62befbaf18d25c7f183c0d8 tree | zip | gz
parent f019f22daf22ebfe3f1d4903d6039a8dae56250a view | diff
Fix for 4272 : Changes not replayed initially on adde

This issue happens when a new OpenDS server is added to a topology which has been up and
running for some time and the new server is both a Replication Server and a Directory Server.

In such cases the Replication Server starts empty and is therefore very late with regards to
the other servers.
The Directory Server is initialized from an up to date DS already in the topology and is therefore
not late.

The problem is that the new DS incorrectly choose the RS that was just installed to be provided
with all the new changes in the topology.

The DS therefore as to wait for the RS to grab all the old changes before being provided with the
new change.

The fix is to change the algorithm that is used by the DS to select the RS and to give priority
to the RS that are more up to date.

Gary would like to see this in the 2.2 branch and would therefore have to be back-ported there.

I have also added unit tests for this case and other similar ones.
replica DS after init
5 files modified
265 ■■■■ changed files
opendj-sdk/opends/src/server/org/opends/server/replication/common/ServerState.java 20 ●●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/server/org/opends/server/replication/server/ReplicationServer.java 28 ●●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/server/org/opends/server/replication/service/ReplicationBroker.java 83 ●●●●● diff | view | raw | blame | history
opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/replication/plugin/ComputeBestServerTest.java 126 ●●●●● diff | view | raw | blame | history
opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/replication/plugin/FractionalReplicationTest.java 8 ●●●●● diff | view | raw | blame | history