[
http://jira.jboss.com/jira/browse/JGRP-532?page=comments#action_12365487 ]
Bela Ban commented on JGRP-532:
-------------------------------
Not true, also happens when send queues are disabled. What happens is that
Connection._send() can block on the TCP write(), as the receiver node set the sliding
window to 0. Example:
- A and B
- A (NAKACK) receives a message from B, acquires a lock on B's NakReceiverWindow and
passes the message up.
- In A.STABLE, we determine that we've seen enough bytes, and send down a STABLE
message
- The STABLE message blocks on write() (B has temporarily set its sliding window to 0)
- Now all messages from B will not get processed as the lock for B's NRW is held by
the blocked write() thread
- Therefore A will send a sliding window size of 0 to B, which will cause B's write()
to block
==> deadlock
TCP: hangs without FC
---------------------
Key: JGRP-532
URL:
http://jira.jboss.com/jira/browse/JGRP-532
Project: JGroups
Issue Type: Bug
Reporter: Bela Ban
Assigned To: Bela Ban
Fix For: 2.5
Attachments: config.txt, tcp.xml, tmp.txt
Usually, FC is enabled, but when FC is not present, perf.Test with 2 senders and the
attached tcp.xml/config.txt hangs. Stack trace attached too.
--
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