[jboss-jira] [JBoss JIRA] Resolved: (JGRP-500) FLUSH bug
Vladimir Blagojevic (JIRA)
jira-events at lists.jboss.org
Thu May 10 12:07:52 EDT 2007
[ http://jira.jboss.com/jira/browse/JGRP-500?page=all ]
Vladimir Blagojevic resolved JGRP-500.
--------------------------------------
Resolution: Rejected
Michael,
This program is intentionally malicious. You can not have two channels trying to acquire the same semaphore in their respective block callbacks. So when flush starts one channel will grab a semaphore and the other will not be able to thus blocking further flush progress.
We have to be more specific in javadoc for block() callback. Application implementing block has to guarrantee that block callback will return and return promptly.
> FLUSH bug
> ---------
>
> Key: JGRP-500
> URL: http://jira.jboss.com/jira/browse/JGRP-500
> Project: JGroups
> Issue Type: Bug
> Reporter: Bela Ban
> Assigned To: Vladimir Blagojevic
> Fix For: 2.5
>
> Attachments: JGroupsFlushBug.java
>
>
> [reported by Michael Newcomb]
> Here is a test program to demonstrate the bug.
> Start 2 instances of the JGroupsFlushBug app.
> In window 1, type: 'sleep 5'
> This will send a message to both apps and they will both sleep for 5
> seconds. The app that issued the sleep command will wait until both have
> slept 5 seconds and then return.
> When the sleep command is issued, it grabs a lock on a Semaphore. This
> lock is released when it receives a response to the sleep command.
> When a block() is called it grabs the lock on the Semaphore so that no
> more sleep commands can execute. Likewise, if a sleep command is
> executing, block() will wait until it completes and then grab the lock.
> At least that is what is supposed to happen ;)
> Now, in window 1, type: 'sleep 10'
> Quickly change to window 2 and type: 'flush'
> You will see that the flush does not complete correctly. You will see
> the flush timeout and then repeatedly tries to start the flush again.
> Even when the sleep completes, the retries fail...
> Can someone confirm my results?
> Thanks,
> Michael
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the jboss-jira
mailing list