The <Cluster><Manager> is set under the context.xml <Manager className="org.apache.catalina.ha.session.BackupManager" notifyListenersOnReplication="true" mapSendOptions="6"/>
On Thu, Feb 9, 2017 at 11:21 AM, Keiichi Fujino <kfuj...@apache.org> wrote: > 2017-02-09 18:10 GMT+09:00 Fady Haikal <fadyhai...@gmail.com>: > >> Keiichi, >> mapSendoption is not configured anyway please check my configuration below >> > > > You have not set <Cluster><Manager>. > If you do not use Cluster Manager template, DeltaManager is used by default. > However, in the logs, it seems to be using BackupManager. > Have you set <Context><Manager> in webapps/{your app} /META-INF/context.xml > or conf/{Engine}/{Host}/{your app}.xml? > > > >> <?xml version='1.0' encoding='utf-8'?> >> <!-- >> Licensed to the Apache Software Foundation (ASF) under one or more >> contributor license agreements. See the NOTICE file distributed with >> this work for additional information regarding copyright ownership. >> The ASF licenses this file to You under the Apache License, Version 2.0 >> (the "License"); you may not use this file except in compliance with >> the License. You may obtain a copy of the License at >> >> http://www.apache.org/licenses/LICENSE-2.0 >> >> Unless required by applicable law or agreed to in writing, software >> distributed under the License is distributed on an "AS IS" BASIS, >> WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. >> See the License for the specific language governing permissions and >> limitations under the License. >> --> >> <!-- Note: A "Server" is not itself a "Container", so you may not >> define subcomponents such as "Valves" at this level. >> Documentation at /docs/config/server.html >> --> >> <Server port="8005" shutdown="SHUTDOWN"> >> <Listener className="org.apache.catalina.startup.VersionLoggerListener" >> /> >> <!-- Security listener. Documentation at /docs/config/listeners.html >> <Listener className="org.apache.catalina.security.SecurityListener" /> >> --> >> <!--APR library loader. Documentation at /docs/apr.html --> >> <Listener className="org.apache.catalina.core.AprLifecycleListener" >> SSLEngine="on" /> >> <!-- Prevent memory leaks due to use of particular java/javax APIs--> >> <Listener className="org.apache.catalina.core. >> JreMemoryLeakPreventionListener" >> /> >> <Listener className="org.apache.catalina.mbeans. >> GlobalResourcesLifecycleListener" >> /> >> <Listener className="org.apache.catalina.core. >> ThreadLocalLeakPreventionListener" >> /> >> >> <!-- Global JNDI resources >> Documentation at /docs/jndi-resources-howto.html >> --> >> <GlobalNamingResources> >> <!-- Editable user database that can also be used by >> UserDatabaseRealm to authenticate users >> --> >> <Resource name="UserDatabase" auth="Container" >> type="org.apache.catalina.UserDatabase" >> description="User database that can be updated and saved" >> factory="org.apache.catalina.users. >> MemoryUserDatabaseFactory" >> pathname="conf/tomcat-users.xml" /> >> </GlobalNamingResources> >> >> <!-- A "Service" is a collection of one or more "Connectors" that share >> a single "Container" Note: A "Service" is not itself a "Container", >> so you may not define subcomponents such as "Valves" at this level. >> Documentation at /docs/config/service.html >> --> >> <Service name="Catalina"> >> >> <!--The connectors can use a shared executor, you can define one >> or more named thread pools--> >> <!-- >> <Executor name="tomcatThreadPool" namePrefix="catalina-exec-" >> maxThreads="150" minSpareThreads="4"/> >> --> >> >> >> <!-- A "Connector" represents an endpoint by which requests are >> received >> and responses are returned. Documentation at : >> Java HTTP Connector: /docs/config/http.html (blocking & >> non-blocking) >> Java AJP Connector: /docs/config/ajp.html >> APR (HTTP/AJP) Connector: /docs/apr.html >> Define a non-SSL/TLS HTTP/1.1 Connector on port 8080 >> --> >> <Connector port="8080" protocol="HTTP/1.1" >> connectionTimeout="60000" maxThreads="500" >> minSpareThreads="25" maxSpareThreads="75" enableLookups="false" >> disableUploadTimeout="true" acceptCount="100" redirectPort="8443" /> >> <!-- A "Connector" using the shared thread pool--> >> <!-- >> <Connector executor="tomcatThreadPool" >> port="8080" protocol="HTTP/1.1" >> connectionTimeout="60000" >> redirectPort="8443" /> >> --> >> <!-- Define a SSL/TLS HTTP/1.1 Connector on port 8443 >> This connector uses the NIO implementation that requires the JSSE >> style configuration. When using the APR/native implementation, the >> OpenSSL style configuration is required as described in the >> APR/native >> documentation --> >> <!-- >> <Connector port="8443" protocol="org.apache.coyote. >> http11.Http11NioProtocol" >> maxThreads="150" SSLEnabled="true" scheme="https" >> secure="true" >> clientAuth="false" sslProtocol="TLS" /> >> --> >> >> <!-- Define an AJP 1.3 Connector on port 8009 --> >> <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> >> >> >> <!-- An Engine represents the entry point (within Catalina) that >> processes >> every request. The Engine implementation for Tomcat stand alone >> analyzes the HTTP headers included with the request, and passes >> them >> on to the appropriate Host (virtual host). >> Documentation at /docs/config/engine.html --> >> >> <!-- You should set jvmRoute to support load-balancing via AJP ie : >> >> --> >> <Engine name="Catalina" defaultHost="10.114.43.102" >> jvmRoute="TomcatNode1"> >> <!-- Use the LockOutRealm to prevent attempts to guess user passwords >> via a brute-force attack --> >> <Realm className="org.apache.catalina.realm.LockOutRealm"> >> <!-- This Realm uses the UserDatabase configured in the global JNDI >> resources under the key "UserDatabase". Any edits >> that are performed against this UserDatabase are immediately >> available for use by the Realm. --> >> <Realm className="org.apache.catalina.realm.UserDatabaseRealm" >> resourceName="UserDatabase"/> >> </Realm> >> >> <Host name="10.114.43.102" appBase="webapps" >> unpackWARs="true" autoDeploy="true" startStopThreads="0"> >> <!--For clustering, please take a look at documentation at: >> /docs/cluster-howto.html (simple how to) >> /docs/config/cluster.html (reference documentation) --> >> <!-- >> <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/> >> --> >> >> <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster" >> channelSendOptions="4"> >> <Channel className="org.apache.catalina.tribes.group. >> GroupChannel"> >> <Membership >> className="org.apache.catalina.tribes.membership.McastService" >> address="228.0.0.4" >> port="45560" >> frequency="500" >> dropTime="9000"/> >> <Receiver >> className="org.apache.catalina.tribes.transport.nio.NioReceiver" >> address="auto" >> port="4000" >> autoBind="100" >> selectorTimeout="5000" >> 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. >> TcpFailureDetector"/> >> <Interceptor >> className="org.apache.catalina.tribes.group.interceptors. >> MessageDispatch15Interceptor"/> >> </Channel> >> >> <Valve className="org.apache.catalina.ha.tcp.ReplicationValve" >> >> filter=".*\.gif|.*\.js|.*\.jpeg|.*\.jpg|.*\.png|.*\.htm|. >> *\.html|.*\.css|.*\.txt"/> >> <Valve >> className="org.apache.catalina.ha.session.JvmRouteBinderValve"/> >> >> <Deployer className="org.apache.catalina.ha.deploy. >> FarmWarDeployer" >> tempDir="D:/imaljava/TomcatNode1/tmp/war-temp/" >> deployDir="D:/imaljava/TomcatNode1/tmp/war-deploy/" >> watchDir="D:/imaljava/TomcatNode1/tmp/war-listen/" >> watchEnabled="false"/> >> >> <ClusterListener >> className="org.apache.catalina.ha.session.ClusterSessionListener"/> >> </Cluster> >> <!-- SingleSignOn valve, share authentication between web >> applications >> Documentation at: /docs/config/valve.html --> >> <!-- >> <Valve className="org.apache.catalina.authenticator.SingleSignOn" >> /> >> --> >> >> <!-- Access log processes all example. >> Documentation at: /docs/config/valve.html >> Note: The pattern used is equivalent to using >> pattern="common" --> >> <Valve className="org.apache.catalina.valves.AccessLogValve" >> directory="logs" >> prefix="localhost_access_log" suffix=".txt" >> pattern="%h %l %u %t "%r" %s %b" /> >> <Valve className="org.apache.catalina.valves.StuckThreadDetectionValve" >> threshold="900" /> >> >> </Host> >> </Engine> >> </Service> >> </Server> >> >> >> On Thu, Feb 9, 2017 at 10:32 AM, Keiichi Fujino <kfuj...@apache.org> >> wrote: >> > Hi >> > >> > You seems to be using BackupManager. >> > What is set for mapSendOptions? >> > >> > The Cluster module uses the Tomcat JULI logging FW, >> > so you can enable logging on the org.apache.catalina.tribes.MESSAGES, >> you >> > can track messages. >> > >> > Note for using the org.apache.catalina.tribes.MESSAGES: >> > The org.apache.catalina.tribes.MESSAGES outputs a lot of trace level >> logs. >> > So It should get logs in a short period of time. >> > >> > >> > 2017-02-06 15:52 GMT+09:00 Fady Haikal <fadyhai...@gmail.com>: >> > >> >> Guys, we are facing the below errors in Tomcat cluster, please advise >> >> >> >> >> >> 06-Feb-2017 01:14:20.718 SEVERE [GroupChannel-Heartbeat-1] >> >> org.apache.catalina.tribes.tipis.AbstractReplicatedMap.heartbeat >> >> Unable to send AbstractReplicatedMap.ping message >> >> org.apache.catalina.tribes.ChannelException: Operation has timed >> >> out(3000 ms.).; Faulty members:tcp://{10, 114, 43, 103}:4000; >> >> at org.apache.catalina.tribes.transport.nio. >> ParallelNioSender.sendMessage( >> >> ParallelNioSender.java:108) >> >> at org.apache.catalina.tribes.transport.nio.PooledParallelSender. >> >> sendMessage(PooledParallelSender.java:48) >> >> at org.apache.catalina.tribes.transport.ReplicationTransmitter. >> >> sendMessage(ReplicationTransmitter.java:54) >> >> at org.apache.catalina.tribes.group.ChannelCoordinator.sendMessage( >> >> ChannelCoordinator.java:82) >> >> at org.apache.catalina.tribes.group.ChannelInterceptorBase.sendMessage( >> >> ChannelInterceptorBase.java:76) >> >> at org.apache.catalina.tribes.group.interceptors. >> >> MessageDispatchInterceptor.sendMessage(MessageDispatchInterceptor. >> java:81) >> >> at org.apache.catalina.tribes.group.ChannelInterceptorBase.sendMessage( >> >> ChannelInterceptorBase.java:76) >> >> at org.apache.catalina.tribes.group.interceptors.TcpFailureDetector. >> >> sendMessage(TcpFailureDetector.java:93) >> >> at org.apache.catalina.tribes.group.ChannelInterceptorBase.sendMessage( >> >> ChannelInterceptorBase.java:76) >> >> at org.apache.catalina.tribes.group.GroupChannel.send( >> >> GroupChannel.java:233) >> >> at org.apache.catalina.tribes.group.GroupChannel.send( >> >> GroupChannel.java:186) >> >> at org.apache.catalina.tribes.group.RpcChannel.send(RpcChannel.java:99) >> >> at org.apache.catalina.tribes.tipis.AbstractReplicatedMap. >> >> ping(AbstractReplicatedMap.java:267) >> >> at org.apache.catalina.tribes.tipis.AbstractReplicatedMap.heartbeat( >> >> AbstractReplicatedMap.java:885) >> >> at org.apache.catalina.tribes.group.GroupChannel.heartbeat( >> >> GroupChannel.java:161) >> >> at org.apache.catalina.tribes.group.GroupChannel$HeartbeatThread.run( >> >> GroupChannel.java:697) >> >> >> >> >> >> 06-Feb-2017 01:20:51.437 SEVERE [NioReceiver] >> >> org.apache.catalina.tribes.transport.nio.NioReceiver.listen Unable to >> >> process request in NioReceiver >> >> java.io.IOException: A non-blocking socket operation could not be >> >> completed immediately >> >> at sun.nio.ch.SocketDispatcher.close0(Native Method) >> >> at sun.nio.ch.SocketDispatcher.close(Unknown Source) >> >> at sun.nio.ch.SocketChannelImpl.kill(Unknown Source) >> >> at sun.nio.ch.WindowsSelectorImpl.implDereg(Unknown Source) >> >> at sun.nio.ch.SelectorImpl.processDeregisterQueue(Unknown Source) >> >> at sun.nio.ch.WindowsSelectorImpl.doSelect(Unknown Source) >> >> at sun.nio.ch.SelectorImpl.lockAndDoSelect(Unknown Source) >> >> at sun.nio.ch.SelectorImpl.select(Unknown Source) >> >> at org.apache.catalina.tribes.transport.nio.NioReceiver. >> >> listen(NioReceiver.java:272) >> >> at org.apache.catalina.tribes.transport.nio.NioReceiver.run( >> >> NioReceiver.java:425) >> >> at java.lang.Thread.run(Unknown Source) >> >> >> >> Regards, >> >> Fady >> >> >> >> --------------------------------------------------------------------- >> >> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org >> >> For additional commands, e-mail: users-h...@tomcat.apache.org >> >> >> >> >> > >> > >> > -- >> > Keiichi.Fujino >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org >> For additional commands, e-mail: users-h...@tomcat.apache.org >> >> -- >> Keiichi.Fujino >> <users-h...@tomcat.apache.org> >> <users-h...@tomcat.apache.org> >> --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org