tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Bruce Pease" <bpe...@wth.com>
Subject RE: Tomcat 7 Cluster Issue
Date Mon, 12 Mar 2012 16:02:04 GMT
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

Mime
View raw message