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

gbellato
27.58.2007 c6c3de416bcc406346299a860905c9e71870a4ab
refs
author gbellato <gbellato@localhost>
Monday, August 27, 2007 13:58 +0200
committer gbellato <gbellato@localhost>
Monday, August 27, 2007 13:58 +0200
commitc6c3de416bcc406346299a860905c9e71870a4ab
tree 419bd8f66f4d14af04c97bee95f535cb0c43e62d tree | zip | gz
parent 25dac9c266bda7e12badf795984da0cfcf2dff41 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
opends/src/messages/src/org/opends/messages/MessageDescriptor.java 5 ●●●● diff | view | raw | blame | history
opends/src/server/org/opends/server/replication/plugin/ReplicationDomain.java 50 ●●●●● diff | view | raw | blame | history
opends/src/server/org/opends/server/replication/server/ReplicationCache.java 28 ●●●● diff | view | raw | blame | history
opends/src/server/org/opends/server/tasks/InitializeTask.java 11 ●●●● diff | view | raw | blame | history
opends/tests/unit-tests-testng/src/server/org/opends/server/replication/InitOnLineTest.java 11 ●●●●● diff | view | raw | blame | history