Re: Cluster StaticMember (McastService:Required property "tcpListenPort" is missing)
Hi https://bz.apache.org/bugzilla/show_bug.cgi?id=61448#c2 2017-08-18 20:47 GMT+09:00 Carlos Peon Costa: > Hello, > > It seems to me that it's always necessary to initialize > membershipService, maybe something like that (untested): > > --- apache-tomcat-7.0.70-src/java/org/apache/catalina/tribes/ > group/ChannelCoordinator.java.original > 2016-06-15 18:45:51.0 +0200 > +++ apache-tomcat-7.0.70-src/java/org/apache/catalina/tribes/ > group/ChannelCoordinator.java > 2017-08-18 13:19:53.342672900 +0200 > @@ -148,6 +148,10 @@ > } > clusterReceiver.start(); > //synchronize, big time FIXME > + > membershipService.setLocalMemberProperties(getClusterReceiver().getHost(), > + > getClusterReceiver().getPort(), > + > getClusterReceiver().getSecurePort(), > + > getClusterReceiver().getUdpPort()); > Member localMember = getChannel().getLocalMember(false); > if (localMember instanceof StaticMember) { > // static member > @@ -155,13 +159,6 @@ > staticMember.setHost(getClusterReceiver().getHost()); > staticMember.setPort(getClusterReceiver().getPort()); > > staticMember.setSecurePort(getClusterReceiver().getSecurePort()); > -} else { > -// multicast member > - > membershipService.setLocalMemberProperties(getClusterReceiver().getHost(), > -getClusterReceiver().getPort(), > -getClusterReceiver().getSecurePort(), > -getClusterReceiver().getUdpPort()); > - > } > valid = true; > } > > Regards, > Carlos. > > On Fri, Aug 18, 2017 at 9:51 AM, Carlos Peon Costa > wrote: > > The reason could be here: > > > > $ diff -r apache-tomcat-7.0.69-src/java/org/apache/catalina/tribes/ > group/ChannelCoordinator.java > > apache-tomcat-7.0.70-src/java/org/apache/catalina/tribes/ > group/ChannelCoordinator.java > > 146,149c151,165 > > < membershipService.setLocalMemberProperties( > getClusterReceiver().getHost(), > > < > getClusterReceiver().getPort(), > > < > getClusterReceiver().getSecurePort(), > > < > getClusterReceiver().getUdpPort()); > > --- > >> Member localMember = getChannel().getLocalMember( > false); > >> if (localMember instanceof StaticMember) { > >> // static member > >> StaticMember staticMember = > (StaticMember)localMember; > >> staticMember.setHost(getClusterReceiver().getHost() > ); > >> staticMember.setPort(getClusterReceiver().getPort() > ); > >> staticMember.setSecurePort(getClusterReceiver(). > getSecurePort()); > >> } else { > >> // multicast member > >> membershipService.setLocalMemberProperties( > getClusterReceiver().getHost(), > >> getClusterReceiver().getPort(), > >> getClusterReceiver().getSecurePort(), > >> getClusterReceiver().getUdpPort()); > >> > >> } > > > -- Keiichi.Fujino
Re: Cluster StaticMember (McastService:Required property "tcpListenPort" is missing)
Hello, It seems to me that it's always necessary to initialize membershipService, maybe something like that (untested): --- apache-tomcat-7.0.70-src/java/org/apache/catalina/tribes/group/ChannelCoordinator.java.original 2016-06-15 18:45:51.0 +0200 +++ apache-tomcat-7.0.70-src/java/org/apache/catalina/tribes/group/ChannelCoordinator.java 2017-08-18 13:19:53.342672900 +0200 @@ -148,6 +148,10 @@ } clusterReceiver.start(); //synchronize, big time FIXME + membershipService.setLocalMemberProperties(getClusterReceiver().getHost(), + getClusterReceiver().getPort(), + getClusterReceiver().getSecurePort(), + getClusterReceiver().getUdpPort()); Member localMember = getChannel().getLocalMember(false); if (localMember instanceof StaticMember) { // static member @@ -155,13 +159,6 @@ staticMember.setHost(getClusterReceiver().getHost()); staticMember.setPort(getClusterReceiver().getPort()); staticMember.setSecurePort(getClusterReceiver().getSecurePort()); -} else { -// multicast member - membershipService.setLocalMemberProperties(getClusterReceiver().getHost(), -getClusterReceiver().getPort(), -getClusterReceiver().getSecurePort(), -getClusterReceiver().getUdpPort()); - } valid = true; } Regards, Carlos. On Fri, Aug 18, 2017 at 9:51 AM, Carlos Peon Costawrote: > The reason could be here: > > $ diff -r > apache-tomcat-7.0.69-src/java/org/apache/catalina/tribes/group/ChannelCoordinator.java > apache-tomcat-7.0.70-src/java/org/apache/catalina/tribes/group/ChannelCoordinator.java > 146,149c151,165 > < > membershipService.setLocalMemberProperties(getClusterReceiver().getHost(), > < > getClusterReceiver().getPort(), > < > getClusterReceiver().getSecurePort(), > < > getClusterReceiver().getUdpPort()); > --- >> Member localMember = getChannel().getLocalMember(false); >> if (localMember instanceof StaticMember) { >> // static member >> StaticMember staticMember = (StaticMember)localMember; >> staticMember.setHost(getClusterReceiver().getHost()); >> staticMember.setPort(getClusterReceiver().getPort()); >> >> staticMember.setSecurePort(getClusterReceiver().getSecurePort()); >> } else { >> // multicast member >> >> membershipService.setLocalMemberProperties(getClusterReceiver().getHost(), >> getClusterReceiver().getPort(), >> getClusterReceiver().getSecurePort(), >> getClusterReceiver().getUdpPort()); >> >> } > - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Cluster StaticMember (McastService:Required property "tcpListenPort" is missing)
Hello, Cluster static members seem to fail since version 7.0.70 (also reproduced in 8.0.45): SEVERE: The required Server component failed to start so Tomcat is unable to start. ... Caused by: org.apache.catalina.tribes.ChannelException: java.lang.IllegalArgumentException: McastService:Required property "tcpListenPort" is missing.; No faulty members identified. at org.apache.catalina.tribes.group.ChannelCoordinator.internalStart(ChannelCoordinator.java:200) at org.apache.catalina.tribes.group.ChannelCoordinator.start(ChannelCoordinator.java:100) at org.apache.catalina.tribes.group.ChannelInterceptorBase.start(ChannelInterceptorBase.java:162) at org.apache.catalina.tribes.group.interceptors.StaticMembershipInterceptor.start(StaticMembershipInterceptor.java:168) at org.apache.catalina.tribes.group.ChannelInterceptorBase.start(ChannelInterceptorBase.java:162) at org.apache.catalina.tribes.group.GroupChannel.start(GroupChannel.java:431) at org.apache.catalina.ha.tcp.SimpleTcpCluster.startInternal(SimpleTcpCluster.java:689) ... 15 more Caused by: java.lang.IllegalArgumentException: McastService:Required property "tcpListenPort" is missing. at org.apache.catalina.tribes.membership.McastService.hasProperty(McastService.java:360) at org.apache.catalina.tribes.membership.McastService.start(McastService.java:379) at org.apache.catalina.tribes.group.ChannelCoordinator.internalStart(ChannelCoordinator.java:182) ... 21 more The reason could be here: $ diff -r apache-tomcat-7.0.69-src/java/org/apache/catalina/tribes/group/ChannelCoordinator.java apache-tomcat-7.0.70-src/java/org/apache/catalina/tribes/group/ChannelCoordinator.java 28a29,30 > import org.apache.catalina.tribes.membership.StaticMember; > import org.apache.catalina.tribes.transport.ReceiverBase; 143a146,148 > if (clusterReceiver instanceof ReceiverBase) { > ((ReceiverBase)clusterReceiver).setChannel(getChannel()); > } 146,149c151,165 < membershipService.setLocalMemberProperties(getClusterReceiver().getHost(), < getClusterReceiver().getPort(), < getClusterReceiver().getSecurePort(), < getClusterReceiver().getUdpPort()); --- > Member localMember = getChannel().getLocalMember(false); > if (localMember instanceof StaticMember) { > // static member > StaticMember staticMember = (StaticMember)localMember; > staticMember.setHost(getClusterReceiver().getHost()); > staticMember.setPort(getClusterReceiver().getPort()); > > staticMember.setSecurePort(getClusterReceiver().getSecurePort()); > } else { > // multicast member > > membershipService.setLocalMemberProperties(getClusterReceiver().getHost(), > getClusterReceiver().getPort(), > getClusterReceiver().getSecurePort(), > getClusterReceiver().getUdpPort()); > > } but I can't see why and go forward alone ;). If I'm not wrong, posting in this mailing list is the proper way to go. Regards, Carlos. - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org