Re: Cluster StaticMember (McastService:Required property "tcpListenPort" is missing)

2017-08-21 Thread Keiichi Fujino
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)

2017-08-18 Thread 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());
>>
>> }
>

-
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)

2017-08-18 Thread Carlos Peon Costa
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