-
Bug
-
Resolution: Won't Do
-
Major
-
None
-
None
[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