Hi, I am trying to implement non-sticky session replication using Delta
Manager with static membership. The nodes are across two different
machines. I am unable to discover members in the cluster with the following
logs on both machines -
org.apache.catalina.ha.session.DeltaManager.startInternal Register manager
localhost# to cluster element Engine with name Catalina
org.apache.catalina.ha.session.DeltaManager.startInternal Starting
clustering manager at localhost#
org.apache.catalina.ha.session.DeltaManager.getAllClusterSessions Manager
[localhost#]: skipping state transfer. No members active in cluster group.
Please find the cluster settings (inside the *<Engine> *tag) below. I have
also added the *<distributable/> *tag to the *web.xml *files.
*Node_1*
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"
channelSendOptions="6" channelStartOptions="3">
<Manager className="org.apache.catalina.ha.session.DeltaManager"
expireSessionsOnShutdown="false"
notifyListenersOnReplication="true"/>
<Channel className="org.apache.catalina.tribes.group.GroupChannel">
<Receiver
className="org.apache.catalina.tribes.transport.nio.NioReceiver"
address="127.0.0.1"
port="8090"
autoBind="0"
maxThreads="6"/>
<Sender
className="org.apache.catalina.tribes.transport.ReplicationTransmitter">
<Transport
className="org.apache.catalina.tribes.transport.nio.PooledParallelSender"/>
</Sender>
<Interceptor
className="org.apache.catalina.tribes.group.interceptors.TcpPingInterceptor"/>
<Interceptor
className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/>
<Interceptor
className="org.apache.catalina.tribes.group.interceptors.StaticMembershipInterceptor">
<LocalMember
className="org.apache.catalina.tribes.membership.StaticMember"
domain="delta-static"
uniqueId="{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1}"/>
<Member
className="org.apache.catalina.tribes.membership.StaticMember"
port="8090"
host="tomcat2.apache.infra"
domain="delta-static"
uniqueId="{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2}"/>
</Interceptor>
<Interceptor
className="org.apache.catalina.tribes.group.interceptors.MessageDispatchInterceptor"/>
</Channel>
<Valve className="org.apache.catalina.ha.tcp.ReplicationValve"
filter=""/>
<Valve className="org.apache.catalina.ha.session.JvmRouteBinderValve"/>
<ClusterListener
className="org.apache.catalina.ha.session.ClusterSessionListener"/>
</Cluster>
*Node_2*
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"
channelSendOptions="6" channelStartOptions="3">
<Manager className="org.apache.catalina.ha.session.DeltaManager"
expireSessionsOnShutdown="false"
notifyListenersOnReplication="true"/>
<Channel className="org.apache.catalina.tribes.group.GroupChannel">
<Receiver
className="org.apache.catalina.tribes.transport.nio.NioReceiver"
address="127.0.0.1"
port="8090"
autoBind="0"
maxThreads="6"/>
<Sender
className="org.apache.catalina.tribes.transport.ReplicationTransmitter">
<Transport
className="org.apache.catalina.tribes.transport.nio.PooledParallelSender"/>
</Sender>
<Interceptor
className="org.apache.catalina.tribes.group.interceptors.TcpPingInterceptor"/>
<Interceptor
className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/>
<Interceptor
className="org.apache.catalina.tribes.group.interceptors.StaticMembershipInterceptor">
<LocalMember
className="org.apache.catalina.tribes.membership.StaticMember"
domain="delta-static"
uniqueId="{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2}"/>
<Member
className="org.apache.catalina.tribes.membership.StaticMember"
port="8090"
host="tomcat1.apache.infra"
domain="delta-static"
uniqueId="{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1}"/>
</Interceptor>
<Interceptor
className="org.apache.catalina.tribes.group.interceptors.MessageDispatchInterceptor"/>
</Channel>
<Valve className="org.apache.catalina.ha.tcp.ReplicationValve"
filter=""/>
<Valve className="org.apache.catalina.ha.session.JvmRouteBinderValve"/>
<ClusterListener
className="org.apache.catalina.ha.session.ClusterSessionListener"/>
</Cluster>
What am I doing wrong here? Any help would be greatly appreciated.
Sincerely
Manak Bisht