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

gbellato
27.58.2007 304778744fb74964d3c7111149f9552cd99d0977
refs
author gbellato <gbellato@localhost>
Monday, August 27, 2007 13:58 +0200
committer gbellato <gbellato@localhost>
Monday, August 27, 2007 13:58 +0200
commit304778744fb74964d3c7111149f9552cd99d0977
tree 32b7e7728c5cc344a7c31f6f16c2118cdc3a89c2 tree | zip | gz
parent bdee37d566768d5cd9396b6cc18688a3519abb94 view | diff
complement for issue 2097 : total update fails sending a Message to ReplicationCache

When debugging 2097 I've noticed that during a replication total update,
if the updated server fails, the publisher thread on the other server hangs.

The hang happens because normally the publisher thread never tries to reconnect
after a protocol session failure but waits for the receiver threads to do the job but
here the publishing activity is done in a receiver thread that holding the session lock
and therefore prevent the other thread from doing there job.

The solution is to move this work outside of the lock.

I've tested this manually as it is difficult to automate.
5 files modified
105 ■■■■ changed files
opendj-sdk/opends/src/messages/src/org/opends/messages/MessageDescriptor.java 5 ●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/server/org/opends/server/replication/plugin/ReplicationDomain.java 50 ●●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/server/org/opends/server/replication/server/ReplicationCache.java 28 ●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/server/org/opends/server/tasks/InitializeTask.java 11 ●●●● diff | view | raw | blame | history
opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/replication/InitOnLineTest.java 11 ●●●●● diff | view | raw | blame | history