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

Matthew Swift
08.09.2014 b875ab3f7b327f797ec4532015e45da6ae3fff56
refs
author Matthew Swift <matthew.swift@forgerock.com>
Tuesday, April 8, 2014 11:09 +0200
committer Matthew Swift <matthew.swift@forgerock.com>
Tuesday, April 8, 2014 11:09 +0200
commitb875ab3f7b327f797ec4532015e45da6ae3fff56
tree a0d7c568f69d0c2592e62fa620a724dd23052ce6 tree | zip | gz
parent 203ee4ad1b0dd1264fc280992bedf6e69f2a01f6 view | diff
Backport fix for OPENDJ-1354: replication threads BLOCKED in pendingChanges queue

Decouple writing of status messages (change time heartbeats, monitor, and topology msgs) from RS reader threads through the use of a simple event service. It is now the responsibility of the StatusAnalyzer thread to send status messages when notified to do so by the ReplicationServerDomain. In addition, the Monitor*Msgs are no longer routable since they were only ever sent directly between peers. This simplifies some of the request processing in ReplicationServerDomain.

This change does not attempt to solve potential deadlocks arising from transmission of assured replication acks, status changes, generation ID updates, windowing messages (which are deprecated), total update messages, and error messages.
9 files modified
1251 ■■■■■ changed files
opends/src/server/org/opends/server/replication/protocol/MonitorMsg.java 67 ●●●●● diff | view | raw | blame | history
opends/src/server/org/opends/server/replication/protocol/MonitorRequestMsg.java 93 ●●●● diff | view | raw | blame | history
opends/src/server/org/opends/server/replication/protocol/RoutableMsg.java 12 ●●●● diff | view | raw | blame | history
opends/src/server/org/opends/server/replication/server/MonitoringPublisher.java 3 ●●●● diff | view | raw | blame | history
opends/src/server/org/opends/server/replication/server/ReplicationServer.java 11 ●●●●● diff | view | raw | blame | history
opends/src/server/org/opends/server/replication/server/ReplicationServerDomain.java 767 ●●●●● diff | view | raw | blame | history
opends/src/server/org/opends/server/replication/server/ServerHandler.java 44 ●●●●● diff | view | raw | blame | history
opends/src/server/org/opends/server/replication/server/ServerReader.java 17 ●●●●● diff | view | raw | blame | history
opends/src/server/org/opends/server/replication/server/StatusAnalyzer.java 237 ●●●●● diff | view | raw | blame | history