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

Fabio Pistolesi
08.24.2015 4a371f6717c50f5e327efeeaeeeccd3f82e1f5b0
refs
author Fabio Pistolesi <fabio.pistolesi@forgerock.com>
Tuesday, December 8, 2015 18:24 +0100
committer Fabio Pistolesi <fabio.pistolesi@forgerock.com>
Thursday, December 10, 2015 11:38 +0100
commit4a371f6717c50f5e327efeeaeeeccd3f82e1f5b0
tree 717c0031fe590ca4780e87c02d199c138e99f2e9 tree | zip | gz
parent 952d5099b834ea5f16d657a0f2459d6531a0ed88 view | diff
Partial fix for OPENDJ-2190 Delete not replicated after 36h of add/delete operations on replicated topology

Revise the default number of helper threads in replication.
The number of replication replay threads are insufficient to apply updates coming from replication with respect to requests processed by the frontend.
Same as the worker threads, base their number on the number of CPUs in the system.

On replicated instances, the second instance can now keep up with incoming changes more easily.
The original problem could be seen on the machine I used by running the test ( 2 instances + client) restricted to 8 processors out of 32 (2 x 8 cores + MT).
The first instance goes from 500 to 450 Add/s, because the second instance uses more cpu (from half to two thirds of
what was used by the first to a bit less).
As for the number of worker threads, if run with restricted number and full speed:
Worker threads | All processors | Processor set 0-7
---------------+----------------------+----------------------
2 x Ncpus |700 ADD,100K Searches | 450 ADD, 31K searches
1.5 Ncpus |700 ADD, 76K Searches | 450 ADD, 29K searches

On my laptop (4 core + MT), single instance, I see 32K (2 * Ncpus) instead of 29K (1.5 * Ncpus) searches.
By "Add" we mean "addrate load of add/delete spaced by 10000 entries".
5 files modified
80 ■■■■■ changed files
opendj-maven-plugin/src/main/resources/config/xml/org/forgerock/opendj/server/config/ReplicationSynchronizationProviderConfiguration.xml 12 ●●●● diff | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/api/WorkQueue.java 11 ●●●●● diff | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/backends/jeb/ConfigurableEnvironment.java 24 ●●●● diff | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/replication/plugin/MultimasterReplication.java 16 ●●●●● diff | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/util/Platform.java 17 ●●●●● diff | view | raw | blame | history