tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Pid *" <...@pidster.com>
Subject Re: Tomcat 7 Cluster Issue
Date Mon, 12 Mar 2012 17:30:42 GMT
I will try to reproduce using your config, shortly.


p


On 12 Mar 2012, at 16:02, Bruce Pease <bpease@wth.com> wrote:

> You are correct.  I rolled back the jdk7 change, and the session replication
> fired up without error.  I will hold off on the jdk 7 upgrade until I see the
> okay on a subsequent release.  Thanks.
>
> -----Original Message-----
> From: Pid [mailto:pid@pidster.com]
> Sent: Saturday, March 10, 2012 5:26 AM
> To: Tomcat Users List
> Subject: Re: Tomcat 7 Cluster Issue
>
> On 09/03/2012 18:33, Bruce Pease wrote:
>> I can try the rollback the jdk, and try that.  However, the issue
>> doesn't appear to be jdk related.
>
> Plenty of changes to NIO in Java 7 AFAIK.
> Let us know if Java 6 + Tomcat 7 presents the same problem.
>
>
> p
>
>> The migration was performed by completely removing the old containers,
>> installing tomcat 7 instances, updating all configuration using the
>> ones released in tomcat 7 version, recompiling all applications with
>> jdk 1.7 and tomcat 7 dependencies, and redeploying the applications.
>>
>> -----Original Message-----
>> From: Daniel Mikusa [mailto:dmikusa@vmware.com]
>> Sent: Friday, March 09, 2012 1:02 PM
>> To: Tomcat Users List
>> Subject: Re: Tomcat 7 Cluster Issue
>>
>> On Fri, 2012-03-09 at 08:38 -0800, Bruce Pease wrote:
>>> Good Morning:
>>>
>>>
>>>
>>> I recently upgraded my tomcat containers from tomcat 6 to tomcat
>>> 7.0.26, and the jdk from 1.6 to 1.7.
>>
>> This is a major jump for both Tomcat & the JVM.  Have you considered
>> rolling back one of them to the previous version?
>>
>> For example, roll back the JDK to 1.6 and try just the upgrade to
>> Tomcat 7.0.26.
>>
>> Also, from a Tomcat standpoint, how did you perform the migration?  In
>> particular with your configuration files?
>>
>> Dan
>>
>>
>>> I am now seeing a clustering issue when I start a second instance on
>>> the same server.  I have tried a few variations of the config
>>> (address="auto", address="the ip", no address entry, different ports,
>>> etc.) with no success.  I have included the configurations and error
>>> messages below.  Thank you in advance for your assistance.
>>>
>>>
>>>
>>> Error:
>>>
>>> Mar 09, 2012 11:16:16 AM
>>> org.apache.catalina.tribes.transport.nio.NioReceiver
>>> listen
>>>
>>> SEVERE: Unable to process request in NioReceiver
>>>
>>> java.net.SocketException: Invalid argument: no further information
>>>
>>>                at sun.nio.ch.Net.setIntOption0(Native Method)
>>>
>>>                at sun.nio.ch.Net.setSocketOption(Net.java:279)
>>>
>>>                at
>>> sun.nio.ch.SocketChannelImpl.setOption(SocketChannelImpl.java:175)
>>>
>>>                at
>>> sun.nio.ch.SocketAdaptor.setIntOption(SocketAdaptor.java:296)
>>>
>>>                at
>>> sun.nio.ch.SocketAdaptor.setTrafficClass(SocketAdaptor.java:396)
>>>
>>>                at
>>>
>>
> org.apache.catalina.tribes.transport.nio.NioReceiver.listen(NioReceiver.java:
>>> 308)
>>>
>>>                at
>>> org.apache.catalina.tribes.transport.nio.NioReceiver.run(NioReceiver.
>>> j
>>> ava:418
>>> )
>>>
>>>                at java.lang.Thread.run(Thread.java:722)
>>>
>>>
>>>
>>> SEVERE: Unable to send message through cluster sender.
>>>
>>> org.apache.catalina.tribes.ChannelException: Send failed, attempt:2
>>> max:1; Faulty members:tcp://{10, 103, 4, 70}:4021;
>>>
>>>                at
>>> org.apache.catalina.tribes.transport.nio.ParallelNioSender.doLoop(Par
>>> a
>>> llelNio
>>> Sender.java:187)
>>>
>>>                at
>>> org.apache.catalina.tribes.transport.nio.ParallelNioSender.sendMessag
>>> e
>>> (Parall
>>> elNioSender.java:89)
>>>
>>>                at
>>> org.apache.catalina.tribes.transport.nio.PooledParallelSender.sendMes
>>> s
>>> age(Poo
>>> ledParallelSender.java:54)
>>>
>>>                at
>>> org.apache.catalina.tribes.transport.ReplicationTransmitter.sendMessa
>>> g
>>> e(Repli
>>> cationTransmitter.java:79)
>>>
>>>                at
>>> org.apache.catalina.tribes.group.ChannelCoordinator.sendMessage(Chann
>>> e
>>> lCoordi
>>> nator.java:78)
>>>
>>>                at
>>> org.apache.catalina.tribes.group.ChannelInterceptorBase.sendMessage(C
>>> h
>>> annelIn
>>> terceptorBase.java:79)
>>>
>>>                at
>>> org.apache.catalina.tribes.group.interceptors.MessageDispatchIntercep
>>> t
>>> or.send
>>> Message(MessageDispatchInterceptor.java:77)
>>>
>>>                at
>>> org.apache.catalina.tribes.group.ChannelInterceptorBase.sendMessage(C
>>> h
>>> annelIn
>>> terceptorBase.java:79)
>>>
>>>                at
>>> org.apache.catalina.tribes.group.interceptors.TcpFailureDetector.send
>>> M
>>> essage(
>>> TcpFailureDetector.java:89)
>>>
>>>                at
>>> org.apache.catalina.tribes.group.ChannelInterceptorBase.sendMessage(C
>>> h
>>> annelIn
>>> terceptorBase.java:79)
>>>
>>>                at
>>> org.apache.catalina.tribes.group.GroupChannel.send(GroupChannel.java:
>>> 2
>>> 24)
>>>
>>>                at
>>> org.apache.catalina.tribes.group.GroupChannel.send(GroupChannel.java:
>>> 1
>>> 82)
>>>
>>>                at
>>> org.apache.catalina.ha.tcp.SimpleTcpCluster.send(SimpleTcpCluster.jav
>>> a
>>> :804)
>>>
>>>                at
>>> org.apache.catalina.ha.session.DeltaManager.getAllClusterSessions(Del
>>> t
>>> aManage
>>> r.java:830)
>>>
>>>                at
>>> org.apache.catalina.ha.session.DeltaManager.startInternal(DeltaManage
>>> r
>>> .java:7
>>> 98)
>>>
>>>                at
>>> org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
>>>
>>>                at
>>> org.apache.catalina.core.StandardContext.startInternal(StandardContex
>>> t
>>> .java:5
>>> 282)
>>>
>>>                at
>>> org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
>>>
>>>                at
>>> org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.
>>> java:89
>>> 5)
>>>
>>>                at
>>> org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:87
>>> 1
>>> )
>>>
>>>                at
>>> org.apache.catalina.core.StandardHost.addChild(StandardHost.java:615)
>>>
>>>                at
>>> org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:958)
>>>
>>>                at
>>> org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:
>>> 1
>>> 599)
>>>
>>>                at
>>> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:47
>>> 1
>>> )
>>>
>>>                at
>>> java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
>>>
>>>                at
>>> java.util.concurrent.FutureTask.run(FutureTask.java:166)
>>>
>>>                at
>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.
>>> j
>>> ava:111
>>> 0)
>>>
>>>                at
>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.
>>> java:60
>>> 3)
>>>
>>>                at java.lang.Thread.run(Thread.java:722)
>>>
>>> Caused by: java.net.SocketException: Invalid argument: no further
>>> information
>>>
>>>                at sun.nio.ch.Net.setIntOption0(Native Method)
>>>
>>>                at sun.nio.ch.Net.setSocketOption(Net.java:279)
>>>
>>>                at
>>> sun.nio.ch.SocketChannelImpl.setOption(SocketChannelImpl.java:175)
>>>
>>>                at
>>> sun.nio.ch.SocketAdaptor.setIntOption(SocketAdaptor.java:296)
>>>
>>>                at
>>> sun.nio.ch.SocketAdaptor.setTrafficClass(SocketAdaptor.java:396)
>>>
>>>                at
>>>
>>
> org.apache.catalina.tribes.transport.nio.NioSender.completeConnect(NioSender.
>>> java:151)
>>>
>>>                at
>>> org.apache.catalina.tribes.transport.nio.NioSender.process(NioSender.
>>> j
>>> ava:92)
>>>
>>>                at
>>> org.apache.catalina.tribes.transport.nio.ParallelNioSender.doLoop(Par
>>> a
>>> llelNio
>>> Sender.java:142)
>>>
>>>                ... 28 more
>>>
>>>
>>>
>>> Isapi worker.properties:
>>>
>>> worker.list=cluster
>>>
>>>
>>>
>>> # base settings
>>>
>>> worker.foundation.type=ajp13
>>>
>>> worker.foundation.connect_timeout=60000
>>>
>>> worker.foundation.connection_pool_size=100
>>>
>>> worker.foundation.connection_pool_timeout=30
>>>
>>> worker.foundation.socket_keepalive=false
>>>
>>> worker.foundation.socket_timeout=300
>>>
>>> worker.foundation.lbfactor=5
>>>
>>>
>>>
>>> # worker 1 of cluster
>>>
>>> worker.tomcat1.reference=worker.foundation
>>>
>>> worker.tomcat1.host=10.103.4.70
>>>
>>> worker.tomcat1.port=10109
>>>
>>> worker.tomcat1.activation=A
>>>
>>>
>>>
>>> # worker 2 of cluster
>>>
>>> worker.tomcat2.reference=worker.foundation
>>>
>>> worker.tomcat2.host=10.103.4.70
>>>
>>> worker.tomcat2.port=10209
>>>
>>> worker.tomcat2.activation=A
>>>
>>>
>>>
>>> # define the load balancer
>>>
>>> worker.cluster.type=lb
>>>
>>> worker.cluster.method=B
>>>
>>> worker.cluster.balance_workers=tomcat1,tomcat2
>>>
>>>
>>>
>>>
>>>
>>> server.xml instance 1:
>>>
>>> <?xml version="1.0" encoding="utf-8"?>
>>>
>>> <Server port="8005" shutdown="SHUTDOWN">
>>>
>>>      <Listener className="org.apache.catalina.core.AprLifecycleListener"
>>> SSLEngine="on"/>
>>>
>>>      <Listener className="org.apache.catalina.core.JasperListener"/>
>>>
>>>      <Listener
>>> className="org.apache.catalina.core.JreMemoryLeakPreventionListener"/
>>>>
>>>
>>>      <Listener
>>> className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListene
>>> r
>>> "/>
>>>
>>>      <Listener
>>> className="org.apache.catalina.core.ThreadLocalLeakPreventionListener"
>>> />
>>>
>>>      <GlobalNamingResources>
>>>
>>>            <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>
>>>
>>>      <Service name="Catalina">
>>>
>>>            <Connector port="10180" protocol="HTTP/1.1"
>>> connectionTimeout="20000" redirectPort="8443"/>
>>>
>>>            <Connector port="10109" protocol="AJP/1.3"
>>> redirectPort="8443"/>
>>>
>>>            <Engine name="Catalina" defaultHost="localhost"
>>> jvmRoute="tomcat1">
>>>
>>>                  <Cluster
>>> className="org.apache.catalina.ha.tcp.SimpleTcpCluster"
>>> channelSendOptions="6">
>>>
>>>                        <Manager
>>> className="org.apache.catalina.ha.session.DeltaManager"
>>> expireSessionsOnShutdown="false"
>>> notifyListenersOnReplication="true"/>
>>>
>>>                        <Channel
>>> className="org.apache.catalina.tribes.group.GroupChannel">
>>>
>>>                              <Membership
>>> className="org.apache.catalina.tribes.membership.McastService"
>>> address="228.0.0.45" port="45564" frequency="500" dropTime="3000"/>
>>>
>>>                              <Receiver
>>> className="org.apache.catalina.tribes.transport.nio.NioReceiver"
>>> address="auto" port="4021" autoBind="100" selectorTimeout="5000"
>>> maxThreads="6"/>
>>>
>>>                              <Sender
>>> className="org.apache.catalina.tribes.transport.ReplicationTransmitte
>>> r
>>> ">
>>>
>>>                                    <Transport
>>> className="org.apache.catalina.tribes.transport.nio.PooledParallelSen
>>> d
>>> er"/>
>>>
>>>                              </Sender>
>>>
>>>                              <Interceptor
>>> className="org.apache.catalina.tribes.group.interceptors.TcpFailureDe
>>> t
>>> ector"/
>>>>
>>>
>>>                              <Interceptor
>>> className="org.apache.catalina.tribes.group.interceptors.MessageDispa
>>> t
>>> ch15Int
>>> erceptor"/>
>>>
>>>                        </Channel>
>>>
>>>                        <Valve
>>> className="org.apache.catalina.ha.tcp.ReplicationValve" filter=""/>
>>>
>>>                        <Valve
>>> className="org.apache.catalina.ha.session.JvmRouteBinderValve"/>
>>>
>>>                        <Deployer
>>> className="org.apache.catalina.ha.deploy.FarmWarDeployer"
>>> tempDir="/tmp/war-temp/" deployDir="/tmp/war-deploy/"
>>> watchDir="/tmp/war-listen/" watchEnabled="false"/>
>>>
>>>                        <ClusterListener
>>> className="org.apache.catalina.ha.session.JvmRouteSessionIDBinderList
>>> e
>>> ner"/>
>>>
>>>                        <ClusterListener
>>> className="org.apache.catalina.ha.session.ClusterSessionListener"/>
>>>
>>>                  </Cluster>
>>>
>>>                  <Realm
>>> className="org.apache.catalina.realm.LockOutRealm">
>>>
>>>                        <Realm
>>> className="org.apache.catalina.realm.UserDatabaseRealm"
>>> resourceName="UserDatabase"/>
>>>
>>>                  </Realm>
>>>
>>>                  <Host name="localhost" appBase="webapps"
>> unpackWARs="true"
>>> autoDeploy="true">
>>>
>>>                        <Valve
>>> className="org.apache.catalina.valves.AccessLogValve" directory="logs"
>>> prefix="localhost_access_log." suffix=".txt" pattern="%h %l %u %t
>>> &quot;%r&quot; %s %b"/>
>>>
>>>                  </Host>
>>>
>>>            </Engine>
>>>
>>>      </Service>
>>>
>>> </Server>
>>>
>>>
>>>
>>> Server xml instance 2:
>>>
>>> <?xml version="1.0" encoding="utf-8"?>
>>>
>>> <Server port="8006" shutdown="SHUTDOWN">
>>>
>>>      <Listener className="org.apache.catalina.core.AprLifecycleListener"
>>> SSLEngine="on"/>
>>>
>>>      <Listener className="org.apache.catalina.core.JasperListener"/>
>>>
>>>      <Listener
>>> className="org.apache.catalina.core.JreMemoryLeakPreventionListener"/
>>>>
>>>
>>>      <Listener
>>> className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListene
>>> r
>>> "/>
>>>
>>>      <Listener
>>> className="org.apache.catalina.core.ThreadLocalLeakPreventionListener"
>>> />
>>>
>>>      <GlobalNamingResources>
>>>
>>>            <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>
>>>
>>>      <Service name="Catalina">
>>>
>>>            <Connector port="10280" protocol="HTTP/1.1"
>>> connectionTimeout="20000" redirectPort="8443"/>
>>>
>>>            <Connector port="10209" protocol="AJP/1.3"
>>> redirectPort="8443"/>
>>>
>>>            <Engine name="Catalina" defaultHost="localhost"
>>> jvmRoute="tomcat2">
>>>
>>>                  <Cluster
>>> className="org.apache.catalina.ha.tcp.SimpleTcpCluster"
>>> channelSendOptions="6">
>>>
>>>                        <Manager
>>> className="org.apache.catalina.ha.session.DeltaManager"
>>> expireSessionsOnShutdown="false"
>>> notifyListenersOnReplication="true"/>
>>>
>>>                        <Channel
>>> className="org.apache.catalina.tribes.group.GroupChannel">
>>>
>>>                              <Membership
>>> className="org.apache.catalina.tribes.membership.McastService"
>>> address="228.0.0.45" port="45564" frequency="500" dropTime="3000"/>
>>>
>>>                              <Receiver
>>> className="org.apache.catalina.tribes.transport.nio.NioReceiver"
>>> address="auto" port="4022" autoBind="100" selectorTimeout="5000"
>>> maxThreads="6"/>
>>>
>>>                              <Sender
>>> className="org.apache.catalina.tribes.transport.ReplicationTransmitte
>>> r
>>> ">
>>>
>>>                                    <Transport
>>> className="org.apache.catalina.tribes.transport.nio.PooledParallelSen
>>> d
>>> er"/>
>>>
>>>                              </Sender>
>>>
>>>                              <Interceptor
>>> className="org.apache.catalina.tribes.group.interceptors.TcpFailureDe
>>> t
>>> ector"/
>>>>
>>>
>>>                              <Interceptor
>>> className="org.apache.catalina.tribes.group.interceptors.MessageDispa
>>> t
>>> ch15Int
>>> erceptor"/>
>>>
>>>                        </Channel>
>>>
>>>                        <Valve
>>> className="org.apache.catalina.ha.tcp.ReplicationValve" filter=""/>
>>>
>>>                        <Valve
>>> className="org.apache.catalina.ha.session.JvmRouteBinderValve"/>
>>>
>>>                        <Deployer
>>> className="org.apache.catalina.ha.deploy.FarmWarDeployer"
>>> tempDir="/tmp/war-temp/" deployDir="/tmp/war-deploy/"
>>> watchDir="/tmp/war-listen/" watchEnabled="false"/>
>>>
>>>                        <ClusterListener
>>> className="org.apache.catalina.ha.session.JvmRouteSessionIDBinderList
>>> e
>>> ner"/>
>>>
>>>                        <ClusterListener
>>> className="org.apache.catalina.ha.session.ClusterSessionListener"/>
>>>
>>>                  </Cluster>
>>>
>>>                  <Realm
>>> className="org.apache.catalina.realm.LockOutRealm">
>>>
>>>                        <Realm
>>> className="org.apache.catalina.realm.UserDatabaseRealm"
>>> resourceName="UserDatabase"/>
>>>
>>>                  </Realm>
>>>
>>>                  <Host name="localhost" appBase="webapps"
>> unpackWARs="true"
>>> autoDeploy="true">
>>>
>>>                        <Valve
>>> className="org.apache.catalina.valves.AccessLogValve" directory="logs"
>>> prefix="localhost_access_log." suffix=".txt" pattern="%h %l %u %t
>>> &quot;%r&quot; %s %b"/>
>>>
>>>                  </Host>
>>>
>>>            </Engine>
>>>
>>>      </Service>
>>>
>>> </Server>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>> Bruce D. Pease
>>> Technical Team Lead - Web Applications
>>> CruiseOne(r) <http://www.cruiseone.com/>  & Cruises Inc(tm)
>>> <http://www.cruisesinc.com/>
>>> 1201 W. Cypress Creek Road, Suite 100 Fort Lauderdale, FL 33309-1955
>>> 954-958-3654 (direct) | 954-958-3665 (fax) bpease@wth.com
>>> <mailto:sszalay@wth.com>
>>>
>>>
>>>
>>
>> ----------------------------------------------
>> T ususcib, -mil uer-ususcib@tmct.paheor
>> oraditonl omans,e-ai: ses-el@tmct.paheor
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
>> For additional commands, e-mail: users-help@tomcat.apache.org
>>
>
>
> --
>
> [key:62590808]
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: users-help@tomcat.apache.org
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Mime
View raw message