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

Matthew Swift
08.09.2014 4255726566abd4387c586d09376ffd4efeb5f164
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
commit4255726566abd4387c586d09376ffd4efeb5f164
tree b9001882aba30f245912913d61bf5a413d1deb13 tree | zip | gz
parent f3b26164b06188dc5e71d2fb4b8392141099e606 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
opendj-sdk/opends/src/server/org/opends/server/replication/protocol/MonitorMsg.java 67 ●●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/server/org/opends/server/replication/protocol/MonitorRequestMsg.java 93 ●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/server/org/opends/server/replication/protocol/RoutableMsg.java 12 ●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/server/org/opends/server/replication/server/MonitoringPublisher.java 3 ●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/server/org/opends/server/replication/server/ReplicationServer.java 11 ●●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/server/org/opends/server/replication/server/ReplicationServerDomain.java 767 ●●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/server/org/opends/server/replication/server/ServerHandler.java 44 ●●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/server/org/opends/server/replication/server/ServerReader.java 17 ●●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/server/org/opends/server/replication/server/StatusAnalyzer.java 237 ●●●●● diff | view | raw | blame | history