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

Matthew Swift
25.02.2014 21af6610b07617ecbf1b826310a2f244deb4d348
refs
author Matthew Swift <matthew.swift@forgerock.com>
Tuesday, March 25, 2014 16:02 +0100
committer Matthew Swift <matthew.swift@forgerock.com>
Tuesday, March 25, 2014 16:02 +0100
commit21af6610b07617ecbf1b826310a2f244deb4d348
tree f62a0f44475fcd8e4b880a0fd609672153688c58 tree | zip | gz
parent 065027d3f024e4e76f6b53177a02f4a5dd67cbb6 view | diff
Fix 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
1076 ■■■■■ changed files
opendj3-server-dev/src/server/org/opends/server/replication/protocol/MonitorMsg.java 65 ●●●●● diff | view | raw | blame | history
opendj3-server-dev/src/server/org/opends/server/replication/protocol/MonitorRequestMsg.java 101 ●●●● diff | view | raw | blame | history
opendj3-server-dev/src/server/org/opends/server/replication/protocol/RoutableMsg.java 14 ●●●● diff | view | raw | blame | history
opendj3-server-dev/src/server/org/opends/server/replication/server/MonitoringPublisher.java 1 ●●●● diff | view | raw | blame | history
opendj3-server-dev/src/server/org/opends/server/replication/server/ReplicationServer.java 11 ●●●●● diff | view | raw | blame | history
opendj3-server-dev/src/server/org/opends/server/replication/server/ReplicationServerDomain.java 695 ●●●●● diff | view | raw | blame | history
opendj3-server-dev/src/server/org/opends/server/replication/server/ServerHandler.java 46 ●●●●● diff | view | raw | blame | history
opendj3-server-dev/src/server/org/opends/server/replication/server/ServerReader.java 14 ●●●●● diff | view | raw | blame | history
opendj3-server-dev/src/server/org/opends/server/replication/server/StatusAnalyzer.java 129 ●●●●● diff | view | raw | blame | history