Author: kfujino Date: Thu Apr 21 06:24:01 2016 New Revision: 1740237 URL: http://svn.apache.org/viewvc?rev=1740237&view=rev Log: Ensure that clear the channel instance from channel services when stopping channel.
Modified: tomcat/tc8.5.x/trunk/java/org/apache/catalina/tribes/group/ChannelCoordinator.java tomcat/tc8.5.x/trunk/java/org/apache/catalina/tribes/group/ChannelInterceptorBase.java tomcat/tc8.5.x/trunk/java/org/apache/catalina/tribes/membership/McastService.java tomcat/tc8.5.x/trunk/java/org/apache/catalina/tribes/transport/ReceiverBase.java tomcat/tc8.5.x/trunk/java/org/apache/catalina/tribes/transport/ReplicationTransmitter.java tomcat/tc8.5.x/trunk/webapps/docs/changelog.xml Modified: tomcat/tc8.5.x/trunk/java/org/apache/catalina/tribes/group/ChannelCoordinator.java URL: http://svn.apache.org/viewvc/tomcat/tc8.5.x/trunk/java/org/apache/catalina/tribes/group/ChannelCoordinator.java?rev=1740237&r1=1740236&r2=1740237&view=diff ============================================================================== --- tomcat/tc8.5.x/trunk/java/org/apache/catalina/tribes/group/ChannelCoordinator.java (original) +++ tomcat/tc8.5.x/trunk/java/org/apache/catalina/tribes/group/ChannelCoordinator.java Thu Apr 21 06:24:01 2016 @@ -247,7 +247,7 @@ public class ChannelCoordinator extends } startLevel = (startLevel & (~svc)); - + channel = null; } catch (Exception x) { throw new ChannelException(x); } Modified: tomcat/tc8.5.x/trunk/java/org/apache/catalina/tribes/group/ChannelInterceptorBase.java URL: http://svn.apache.org/viewvc/tomcat/tc8.5.x/trunk/java/org/apache/catalina/tribes/group/ChannelInterceptorBase.java?rev=1740237&r1=1740236&r2=1740237&view=diff ============================================================================== --- tomcat/tc8.5.x/trunk/java/org/apache/catalina/tribes/group/ChannelInterceptorBase.java (original) +++ tomcat/tc8.5.x/trunk/java/org/apache/catalina/tribes/group/ChannelInterceptorBase.java Thu Apr 21 06:24:01 2016 @@ -171,6 +171,7 @@ public abstract class ChannelInterceptor @Override public void stop(int svc) throws ChannelException { if (getNext() != null) getNext().stop(svc); + channel = null; } @Override Modified: tomcat/tc8.5.x/trunk/java/org/apache/catalina/tribes/membership/McastService.java URL: http://svn.apache.org/viewvc/tomcat/tc8.5.x/trunk/java/org/apache/catalina/tribes/membership/McastService.java?rev=1740237&r1=1740236&r2=1740237&view=diff ============================================================================== --- tomcat/tc8.5.x/trunk/java/org/apache/catalina/tribes/membership/McastService.java (original) +++ tomcat/tc8.5.x/trunk/java/org/apache/catalina/tribes/membership/McastService.java Thu Apr 21 06:24:01 2016 @@ -374,7 +374,11 @@ public class McastService implements Mem @Override public void stop(int svc) { try { - if ( impl != null && impl.stop(svc) ) impl = null; + if ( impl != null && impl.stop(svc) ) { + impl.setChannel(null); + impl = null; + channel = null; + } } catch ( Exception x) { log.error(sm.getString( "McastService.stopFail", Integer.valueOf(svc)), x); Modified: tomcat/tc8.5.x/trunk/java/org/apache/catalina/tribes/transport/ReceiverBase.java URL: http://svn.apache.org/viewvc/tomcat/tc8.5.x/trunk/java/org/apache/catalina/tribes/transport/ReceiverBase.java?rev=1740237&r1=1740236&r2=1740237&view=diff ============================================================================== --- tomcat/tc8.5.x/trunk/java/org/apache/catalina/tribes/transport/ReceiverBase.java (original) +++ tomcat/tc8.5.x/trunk/java/org/apache/catalina/tribes/transport/ReceiverBase.java Thu Apr 21 06:24:01 2016 @@ -100,6 +100,7 @@ public abstract class ReceiverBase imple public void stop() { if ( executor != null ) executor.shutdownNow();//ignore left overs executor = null; + channel = null; } /** Modified: tomcat/tc8.5.x/trunk/java/org/apache/catalina/tribes/transport/ReplicationTransmitter.java URL: http://svn.apache.org/viewvc/tomcat/tc8.5.x/trunk/java/org/apache/catalina/tribes/transport/ReplicationTransmitter.java?rev=1740237&r1=1740236&r2=1740237&view=diff ============================================================================== --- tomcat/tc8.5.x/trunk/java/org/apache/catalina/tribes/transport/ReplicationTransmitter.java (original) +++ tomcat/tc8.5.x/trunk/java/org/apache/catalina/tribes/transport/ReplicationTransmitter.java Thu Apr 21 06:24:01 2016 @@ -76,6 +76,7 @@ public class ReplicationTransmitter impl @Override public synchronized void stop() { getTransport().disconnect(); + channel = null; } /** Modified: tomcat/tc8.5.x/trunk/webapps/docs/changelog.xml URL: http://svn.apache.org/viewvc/tomcat/tc8.5.x/trunk/webapps/docs/changelog.xml?rev=1740237&r1=1740236&r2=1740237&view=diff ============================================================================== --- tomcat/tc8.5.x/trunk/webapps/docs/changelog.xml (original) +++ tomcat/tc8.5.x/trunk/webapps/docs/changelog.xml Thu Apr 21 06:24:01 2016 @@ -288,6 +288,10 @@ Add the channel name to the thread which is invoked by channel services in order to identify the associated channel. (kfujino) </add> + <fix> + Ensure that clear the channel instance from channel services when + stopping channel. (kfujino) + </fix> </changelog> </subsection> <subsection name="Other"> --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org