]
Bela Ban commented on JGRP-748:
-------------------------------
The bug is that UDP.handleDisconnect() closes the sockets and stops all threads, so the
messages are not processed when we have a shared transport. Ditto for handleConnect().
SOLUTION: we need to reference-count connects and disconnects wrt the shared transport and
*only* really disconnect on the *last* channel disconnected. Same for connect: only create
sockets and start threads on the *first* connect.
Change in start() and connect() introduced new bug in the shared
transport
--------------------------------------------------------------------------
Key: JGRP-748
URL:
http://jira.jboss.com/jira/browse/JGRP-748
Project: JGroups
Issue Type: Sub-task
Reporter: Bela Ban
Assigned To: Bela Ban
[Vladimir]
This change caused SharedTransportTest#testReferenceCounting to start failing. As soon as
one channel sharing transport layer calls disconnect we shut down threads receiving
packets.
Can you access JIRA and cvs. Both are not working for me!
Vladimir
Bela Ban wrote:
> User: belaban Date: 08/04/23 02:21:53
>
> Modified: src/org/jgroups/protocols Tag: Branch_JGroups_2_6 UDP.java
> Log:
> moved thread starting to handleConnect() from start()
(
http://jira.jboss.com/jira/browse/JGRP-738)
> Revision Changes Path
> No revision
> No revision
> 1.156.2.3 +8 -4 JGroups/src/org/jgroups/protocols/UDP.java
> Index: UDP.java
> ===================================================================
> RCS file: /cvsroot/javagroups/JGroups/src/org/jgroups/protocols/UDP.java,v
> retrieving revision 1.156.2.2
> retrieving revision 1.156.2.3
> diff -u -r1.156.2.2 -r1.156.2.3
> --- UDP.java 3 Apr 2008 08:04:19 -0000 1.156.2.2
> +++ UDP.java 23 Apr 2008 09:21:53 -0000 1.156.2.3
> @@ -37,7 +37,7 @@
> * input buffer overflow, consider setting this property to true.
> * </ul>
> * @author Bela Ban
> - * @version $Id: UDP.java,v 1.156.2.2 2008/04/03 08:04:19 belaban Exp $
> + * @version $Id: UDP.java,v 1.156.2.3 2008/04/23 09:21:53 belaban Exp $
> */
> public class UDP extends TP implements Runnable {
> @@ -366,7 +366,7 @@
> throw new Exception(tmp, ex);
> }
> super.start();
> - startThreads();
> + // startThreads();
> }
> @@ -377,9 +377,13 @@
> super.stop();
> }
> + protected void handleConnect() throws Exception {
> + startThreads();
> + }
> -
> -
> + protected void handleDisconnect() {
> + stopThreads();
> + }
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: