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 <[email protected]> wrote:
> 2017-02-09 18:10 GMT+09:00 Fady Haikal <[email protected]>:
>
>> 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 <[email protected]>
>> 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 <[email protected]>:
>> >
>> >> 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: [email protected]
>> >> For additional commands, e-mail: [email protected]
>> >>
>> >>
>> >
>> >
>> > --
>> > Keiichi.Fujino
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [email protected]
>> For additional commands, e-mail: [email protected]
>>
>> --
>> Keiichi.Fujino
>> <[email protected]>
>> <[email protected]>
>>
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]