I will try to reproduce using your config, shortly.
p On 12 Mar 2012, at 16:02, Bruce Pease <bpe...@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:p...@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:dmik...@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 >>> "%r" %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 >>> "%r" %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) bpe...@wth.com >>> <mailto:ssza...@wth.com> >>> >>> >>> >> >> ---------------------------------------------- >> T ususcib, -mil uer-ususcib@tmct.paheor >> oraditonl omans,e-ai: ses-el@tmct.paheor >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org >> For additional commands, e-mail: users-h...@tomcat.apache.org >> > > > -- > > [key:62590808] > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org > For additional commands, e-mail: users-h...@tomcat.apache.org > --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org