[jboss-jira] [JBoss JIRA] Created: (JGRP-1371) Unable to suspend self in FLUSH.blockMessageDuringFlush(); Eternal timeouts not supported

Nicolas Estrada (JIRA) jira-events at lists.jboss.org
Tue Sep 27 08:28:26 EDT 2011


Unable to suspend self in FLUSH.blockMessageDuringFlush(); Eternal timeouts not supported
-----------------------------------------------------------------------------------------

                 Key: JGRP-1371
                 URL: https://issues.jboss.org/browse/JGRP-1371
             Project: JGroups
          Issue Type: Bug
    Affects Versions: 2.12.1
         Environment: All
            Reporter: Nicolas Estrada
            Assignee: Bela Ban
            Priority: Critical


If a positive timeout is specified for the FLUSH protocol, if the specified waiting time timeout elapses during the notBlockedDown.await(timeout) invocation, the shouldSuspendByItself flag will be set but it will continue looping forever. The if clause below should be moved into the while block.

If the timeout is 0L or negative, instead of waiting forever, it will instantaneously return from the await(timeout) method, but seeing as it can never suspend itself as mentioned earlier, it will loop forever until a STOP_FLUSH or ABORT_FLUSH event is received.

Changing the method to await() for "eternal" timeouts may be dangerous however; There must be a guarantee that the isBlockingFlushDown is toggled even if the FLUSH coordinator fails.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the jboss-jira mailing list