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

gbellato
18.50.2007 46dde7e92cdcba7b194c9bdfedd1366292ad27e3
refs
author gbellato <gbellato@localhost>
Monday, June 18, 2007 08:50 +0200
committer gbellato <gbellato@localhost>
Monday, June 18, 2007 08:50 +0200
commit46dde7e92cdcba7b194c9bdfedd1366292ad27e3
tree ffdc9bd114cffb42b3100963f9a4fb276cc69fe2 tree | zip | gz
parent 9098cf9cf32eedfeb367bde2d740c7f2da065f70 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
opendj-sdk/opends/src/server/org/opends/server/replication/common/ServerState.java 6 ●●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/server/org/opends/server/replication/plugin/PendingChanges.java 373 ●●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/server/org/opends/server/replication/plugin/RemotePendingChanges.java 469 ●●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/server/org/opends/server/replication/plugin/ReplicationDomain.java 52 ●●●●● diff | view | raw | blame | history