- Fix issue 1160 : synchronization is flushing the msgQueue to the database too often
The synchronization server is flushing all the queues of the messages
received from a LDAP server each time a server needs to retrieve some
changes that are not in memory anymore.
This cause the reading process of old changes very slow when there is also new changes coming in.
The servers that are already late can therefore become more and more late.
The solution is to detect the conditions when a flush is necessary by comparing the date of the changeNumber where
we want to start with the date of the first ChangeNumber
and only flush in those cases.
- Also fix some warning at compilation time and when using java 6
- Also fix an problem between test ConfigurableComponentTestCase and the ChangelogTest
because ConfigurableComponentTestCase expect all component to be configurable while
the dynamic configuration code for the Changelog is not yet implemented.
- 2 new unit tests are also included :
. scalability test of a synchronization server when one LDAP server
is used as a master and several other LDAP servers are used as
read only servers :
org.opends.server.synchronization.changelog.ChangelogTest.OneWriterMultipleReader()
. scalability test of a sycnhronization server when several LDAP Servers are used as master simultaneously : org.opends.server.synchronization.changelog.ChangelogTest.MultipleWriterMultipleReader()
These tests do not instantiate the LDAP servers but simulate them
by using directly the ChangelogBroker API.
The second is failing (issue 1162) and is therefore disabled.