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

gbellato
18.50.2007 0d566a1779183a479c33447ac6b0224b705a33c9
refs
author gbellato <gbellato@localhost>
Monday, June 18, 2007 08:50 +0200
committer gbellato <gbellato@localhost>
Monday, June 18, 2007 08:50 +0200
commit0d566a1779183a479c33447ac6b0224b705a33c9
tree 36bfa9575567034e68da5c5f27068dd644e10fff tree | zip | gz
parent 4ba723c86195021552934866ab2124e5d4963854 view | diff
Fix for 1797 : dead locks during replication testing

A listener thread has received an update message, processed it and during the
postOperation phase is now trying to send update that were in the PendingChanges Queue to the Replication Server.
However it is blocked because the protocol window is closed.
Unfortunately it is still holding the PeningChanges locks and therefore
the other listenerthread are blocked and don't read the ack messages that would open the window.

The solution is to split the pendingChanges is 2 queues : one for the local update and one for the remote updates so that the receiving threads are not locked anymore because the window is closed.
1 files added
3 files modified
900 ■■■■■ changed files
opends/src/server/org/opends/server/replication/common/ServerState.java 6 ●●●●● diff | view | raw | blame | history
opends/src/server/org/opends/server/replication/plugin/PendingChanges.java 373 ●●●●● diff | view | raw | blame | history
opends/src/server/org/opends/server/replication/plugin/RemotePendingChanges.java 469 ●●●●● diff | view | raw | blame | history
opends/src/server/org/opends/server/replication/plugin/ReplicationDomain.java 52 ●●●●● diff | view | raw | blame | history