geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Filip Hanik - Dev Lists <devli...@hanik.com>
Subject Re: Tomcat version in G1.1 for clustering
Date Tue, 18 Apr 2006 22:05:29 GMT
looks like you are right, there where some other fixes in .16 that were 
important, so it may be better to use that one.
seems like you got a coordination error, ie, node1 requested state from 
node2, but node2 didn't know about node1, and that caused the stack 
trace from below.

Filip


Dave Colasurdo wrote:
> Thanks Filip!!
>
> http://mail-archives.apache.org/mod_mbox/tomcat-users/200512.mbox/%3c63770.72.64.65.166.1135363511.squirrel@www.hanik.com%3e

>
>
> seems to indicate that it is fixed in 5.5.15..
>
> Is it fixed in 5.5.15 or 5.5.16?
>
> Thanks
> -Dave-
>
> Filip Hanik - Dev Lists wrote:
>> Clustering was broken in Tomcat 5.5.10-5.5.15 due to a protocol 
>> change, this was corrected in 5.5.16.
>> I would run the tests again that version, and then I can help you out 
>> with any problems you run into.
>>
>> Filip
>>
>>
>> Dave Colasurdo wrote:
>>> Jeff,
>>>
>>> Upgraded tomcat, tomcat_ajp and jasper to 5.5.15 and ran the 
>>> clustering tests.
>>>
>>> The *good* news...
>>>  Load balancing, sticky session, session replication and session 
>>> failover seem to work using the same deployment plan that was 
>>> created for G1.1 w/ TC 5.5.9..
>>>
>>> The *bad* news...
>>>
>>> *Problem1*
>>> When testing Sticky session, my browser locks unto a particular 
>>> cluster member (e.g. node1) due to the nodeid in the cookie. If I 
>>> kill node1, the session fails over into node2 and all my session 
>>> data is still present. This is good.
>>> The nodeid in the cookie continues to say node1 (this is also true 
>>> w/ TC 5.5.9 w/ and mod-jk)..
>>>
>>> Now, if I restart node1 and wait a minute or so and then hit my 
>>> browser,    I am directed to node1 and all my session data is gone. :(
>>> BTW, an earlier run using TC 5.5.9 also resulted in being directed 
>>> back to node1 though the httpsession is retained.  I think this may 
>>> be related to problems replicating data whenever nodes are added..   
>>> Which leads me to ...
>>>
>>>
>>> *Problem2*
>>> Whenever a cluster member is added to the cluster, the other nodes 
>>> receive the following exception.  This occurs both during the 
>>> initial addition of a node and after a stopped node is restarted...
>>>
>>> (Though later when I access an httpsession (via a servlet request)it 
>>> does result in session replication between members.)
>>>
>>> 15:30:19,352 INFO  [SimpleTcpCluster] Replication member 
>>> added:org.apache.catalina.cluster.mcast.McastMember[tcp://192.168.14.160 
>>> :4001,catalina,192.168.14.160,4001
>>> , alive=0]
>>> 15:30:19,692 ERROR [SimpleTcpCluster] Unable to send message through 
>>> cluster sender.
>>> java.io.IOException: Sender not available. Make sure sender 
>>> information is available to the ReplicationTransmitter.
>>>         at 
>>> org.apache.catalina.cluster.tcp.ReplicationTransmitter.sendMessageDat
>>> a(ReplicationTransmitter.java:857)
>>>         at 
>>> org.apache.catalina.cluster.tcp.ReplicationTransmitter.sendMessage(Re
>>> plicationTransmitter.java:430)
>>>         at 
>>> org.apache.catalina.cluster.tcp.SimpleTcpCluster.send(SimpleTcpCluste
>>> r.java:1074)
>>>         at 
>>> org.apache.catalina.cluster.session.DeltaManager.sendSessions(DeltaMa
>>> nager.java:1690)
>>>         at 
>>> org.apache.catalina.cluster.session.DeltaManager.handleGET_ALL_SESSIO
>>> NS(DeltaManager.java:1629)
>>>         at 
>>> org.apache.catalina.cluster.session.DeltaManager.messageReceived(Delt
>>> aManager.java:1443)
>>>         at 
>>> org.apache.catalina.cluster.session.DeltaManager.messageDataReceived(
>>> DeltaManager.java:1225)
>>>         at 
>>> org.apache.catalina.cluster.session.ClusterSessionListener.messageRec
>>> eived(ClusterSessionListener.java:85)
>>>         at 
>>> org.apache.catalina.cluster.tcp.SimpleTcpCluster.receive(SimpleTcpClu
>>> ster.java:1160)
>>>         at 
>>> org.apache.catalina.cluster.tcp.ClusterReceiverBase.messageDataReceiv
>>> ed(ClusterReceiverBase.java:418)
>>>         at 
>>> org.apache.catalina.cluster.io.ObjectReader.execute(ObjectReader.java
>>> :107)
>>>         at 
>>> org.apache.catalina.cluster.tcp.TcpReplicationThread.drainChannel(Tcp
>>> ReplicationThread.java:131)
>>>         at 
>>> org.apache.catalina.cluster.tcp.TcpReplicationThread.run(TcpReplicati
>>> onThread.java:69)
>>> 15:30:19,692 ERROR [SimpleTcpCluster] Unable to send message through 
>>> cluster sen
>>> der.
>>> java.io.IOException: Sender not available. Make sure sender 
>>> information is avail
>>> able to the ReplicationTransmitter.
>>>         at 
>>> org.apache.catalina.cluster.tcp.ReplicationTransmitter.sendMessageDat
>>> a(ReplicationTransmitter.java:857)
>>>         at 
>>> org.apache.catalina.cluster.tcp.ReplicationTransmitter.sendMessage(Re
>>> plicationTransmitter.java:430)
>>>         at 
>>> org.apache.catalina.cluster.tcp.SimpleTcpCluster.send(SimpleTcpCluste
>>> r.java:1074)
>>>         at 
>>> org.apache.catalina.cluster.session.DeltaManager.handleGET_ALL_SESSIO
>>> NS(DeltaManager.java:1660)
>>>         at 
>>> org.apache.catalina.cluster.session.DeltaManager.messageReceived(Delt
>>> aManager.java:1443)
>>>         at 
>>> org.apache.catalina.cluster.session.DeltaManager.messageDataReceived(
>>> DeltaManager.java:1225)
>>>         at 
>>> org.apache.catalina.cluster.session.ClusterSessionListener.messageRec
>>> eived(ClusterSessionListener.java:85)
>>>         at 
>>> org.apache.catalina.cluster.tcp.SimpleTcpCluster.receive(SimpleTcpClu
>>> ster.java:1160)
>>>         at 
>>> org.apache.catalina.cluster.tcp.ClusterReceiverBase.messageDataReceiv
>>> ed(ClusterReceiverBase.java:418)
>>>         at 
>>> org.apache.catalina.cluster.io.ObjectReader.execute(ObjectReader.java
>>> :107)
>>>         at 
>>> org.apache.catalina.cluster.tcp.TcpReplicationThread.drainChannel(Tcp
>>> ReplicationThread.java:131)
>>>         at 
>>> org.apache.catalina.cluster.tcp.TcpReplicationThread.run(TcpReplicati
>>> onThread.java:69)
>>>
>>> *Problem3*
>>> Getting a bunch of exceptions relating to session invalidation
>>>
>>> [snip]
>>> java.lang.IllegalStateException: getId: Session already invalidated
>>> [snip]
>>>
>>> This one may not be new..
>>>
>>>
>>> Thanks
>>> -Dave-
>>>
>>>
>>> Jeff Genender wrote:
>>>> Dave,
>>>>
>>>> Thanks for doing this.
>>>>
>>>> Jeff
>>>>
>>>> Dave Colasurdo wrote:
>>>>> I've validated that the Geronimo clustering example
>>>>> (http://opensource.atlassian.com/confluence/oss/display/GERONIMO/Geronimo+Clustering+Example)

>>>>>
>>>>>  still works for Geronimo 1.1 (with Tomcat 5.5.9).  The application
>>>>> deployment plan (attached to email) required some changes.
>>>>>
>>>>> I'm now rebuilding G1.1 with Tomcat 5.5.15 to determine if the
>>>>> clustering Gbeans and plans still work..
>>>>>
>>>>> -Dave-
>>>>>
>>>>> Jeff Genender wrote:
>>>>>> IIRC, 5.5.15 went to backward compatibility...
>>>>>>
>>>>>> http://mail-archives.apache.org/mod_mbox/tomcat-users/200512.mbox/%3c63770.72.64.65.166.1135363511.squirrel@www.hanik.com%3e

>>>>>>
>>>>>>
>>>>>>
>>>>>> Perhaps Filip can fill us in on this.
>>>>>>
>>>>>> If I remember right, the 5.5.9 clustering GBeans will work on 
>>>>>> forward
>>>>>> versions.  So I don't think there is a problem there.  HEAD has 
>>>>>> been set
>>>>>> to 5.5.15 for quite some time.
>>>>>>
>>>>>> Nevertheless, it doesn't hurt to try em out ;-)
>>>>>>
>>>>>> Jeff
>>>>>>
>>>>>> Dave Colasurdo wrote:
>>>>>>> Jeff (et al.),
>>>>>>>
>>>>>>> Will G1.1 definitely be upgraded to Tomcat 5.5.15?
>>>>>>>
>>>>>>> IIRC, the clustering deployment plans were quite different for

>>>>>>> 5.5.9
>>>>>>> -vs- 5.5.12.  If we upgrade to 5.5.15, we will likely need a
new 
>>>>>>> plan
>>>>>>> that accounts for both the webcontainer upgrade as well as the

>>>>>>> new G1.1
>>>>>>>  plan format..
>>>>>>>
>>>>>>> Thanks
>>>>>>> -Dave-
>>>>>>>
>>>>>>> Jeff Genender wrote:
>>>>>>>> Thanks Rainer.  But I think 5.5.15 will be the one for 1.1.
 But
>>>>>>>> possibly 5.5.17 for 1.2 ;-)
>>>>>>>>
>>>>>>>> Jeff
>>>>>>>>
>>>>>>>> Rainer Jung wrote:
>>>>>>>>> Just for your information: 5.5.16 was released a couple
of 
>>>>>>>>> weeks ago,
>>>>>>>>> but has some problems with de delivered packaginf of
examples app
>>>>>>>>> under
>>>>>>>>> windows.
>>>>>>>>>
>>>>>>>>> 5.5.17 is expected to be cut on friday and voted stable

>>>>>>>>> eventually 1-2
>>>>>>>>> weeks later.
>>>>>>>>>
>>>>>>>>> Jeff Genender wrote:
>>>>>>>>>> Yep...need to update the plan.  Its updated in trunk.
>>>>>>>>>>
>>>>>>>>>> Dave Colasurdo wrote:
>>>>>>>>>>> It appears that G1.1 is still using Tomcat 5.5.9
>>>>>>>>>>>
>>>>>>>>>>> http://svn.apache.org/repos/asf/geronimo/branches/1.1/etc/project.properties

>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> Wasn't a tomcat upgrade to 5.5.15 in plan for
G1.1??  
>>>>>>>>>>> Perhaps I am
>>>>>>>>>>> confused with the plans for trunk.. ??
>>>>>>>>>>>
>>>>>>>>>>> Thanks
>>>>>>>>>>> -Dave-
>>>>>>
>>>>> ------------------------------------------------------------------------

>>>>>
>>>>>
>>>>> <?xml version="1.0" encoding="UTF-8"?>
>>>>> <!--Copyright 2004-2005 The Apache Software Foundation
>>>>>
>>>>>     Licensed 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.-->
>>>>> <!--$Rev: 381704 $ $Date: 2006-02-28 11:55:41 -0500 (Tue, 28 Feb 
>>>>> 2006) $-->
>>>>> <web-app 
>>>>> xmlns="http://geronimo.apache.org/xml/ns/j2ee/web/tomcat-1.1">
>>>>>   <dep:environment 
>>>>> xmlns:dep="http://geronimo.apache.org/xml/ns/deployment-1.1">
>>>>>     <dep:configId>
>>>>>       <dep:groupId>geronimo</dep:groupId>
>>>>>       
>>>>> <dep:artifactId>servlets-examples-tomcat-cluster</dep:artifactId>
>>>>>       <dep:version>1.1-SNAPSHOT</dep:version>
>>>>>       <dep:type>car</dep:type>
>>>>>     </dep:configId>
>>>>>     <dep:dependencies/>
>>>>>     <dep:hidden-classes/>
>>>>>     <dep:non-overridable-classes/>
>>>>>   </dep:environment>
>>>>>   <context-root>/servlets-examples-cluster</context-root>
>>>>>   <context-priority-classloader>false</context-priority-classloader>
>>>>>   
>>>>> <security-realm-name>geronimo-properties-realm</security-realm-name>
>>>>>   <security>
>>>>>     <default-principal>
>>>>>       <principal name="anonymous" 
>>>>> class="org.apache.geronimo.security.realm.providers.GeronimoUserPrincipal"/>

>>>>>
>>>>>     </default-principal>
>>>>>     <role-mappings>
>>>>>       <role role-name="tomcat">
>>>>>         <principal name="admin" 
>>>>> class="org.apache.geronimo.security.realm.providers.GeronimoGroupPrincipal"/>

>>>>>
>>>>>       </role>
>>>>>     </role-mappings>
>>>>>   </security>
>>>>>
>>>>>     <cluster>TomcatCluster</cluster>
>>>>>
>>>>>     <!-- Cluster -->
>>>>>     <gbean name="TomcatCluster" 
>>>>> class="org.apache.geronimo.tomcat.cluster.CatalinaClusterGBean">
>>>>>         <attribute 
>>>>> name="className">org.apache.catalina.cluster.tcp.SimpleTcpCluster</attribute>

>>>>>
>>>>>         <attribute name="initParams">
>>>>>             
>>>>> managerClassName=org.apache.catalina.cluster.session.DeltaManager
>>>>>             expireSessionsOnShutdown=false
>>>>>             useDirtyFlag=false
>>>>>             notifyListenersOnReplication=true
>>>>>         </attribute>
>>>>>
>>>>>         <reference name="Membership">  
>>>>> <name>TomcatMembership</name> </reference>        
<reference 
>>>>> name="Receiver">  <name>TomcatReceiver</name> </reference>
        
>>>>> <reference name="Sender">  <name>TomcatSender</name>

>>>>> </reference>         <reference name="TomcatValveChain">
 
>>>>> <name>ReplicationValve</name> </reference>        
<!--
>>>>>         <reference name="ClusterDeployer"> 
>>>>> <name>FarmWarDeployer</name> </reference>         -->
>>>>>     </gbean>
>>>>>
>>>>>     <!-- Membership -->
>>>>>
>>>>>     <gbean name="TomcatMembership" 
>>>>> class="org.apache.geronimo.tomcat.cluster.MembershipServiceGBean">
>>>>>         <attribute 
>>>>> name="className">org.apache.catalina.cluster.mcast.McastService</attribute>

>>>>>
>>>>>         <attribute name="initParams">
>>>>>             mcastAddr=228.0.0.4
>>>>>             mcastBindAddress=xx.yy.zz.aa             mcastPort=45564
>>>>>             mcastFrequency=500
>>>>>             mcastDropTime=3000
>>>>>         </attribute>
>>>>>     </gbean>
>>>>>     <!-- Receiver -->
>>>>>
>>>>>     <gbean name="TomcatReceiver"
>>>>>         class="org.apache.geronimo.tomcat.cluster.ReceiverGBean">
>>>>>         <attribute 
>>>>> name="className">org.apache.catalina.cluster.tcp.ReplicationListener</attribute>

>>>>>
>>>>>         <attribute name="initParams">
>>>>>             tcpListenAddress=xx.yy.zz.aa             
>>>>> tcpListenPort=4001
>>>>>             tcpSelectorTimeout=100
>>>>>             tcpThreadCount=6
>>>>>         </attribute>
>>>>>     </gbean>     <!-- Sender -->
>>>>>
>>>>>     <gbean name="TomcatSender"
>>>>>         class="org.apache.geronimo.tomcat.cluster.SenderGBean">
>>>>>         <attribute 
>>>>> name="className">org.apache.catalina.cluster.tcp.ReplicationTransmitter</attribute>

>>>>>
>>>>>         <attribute name="initParams">
>>>>>             replicationMode=pooled
>>>>>             ackTimeout=15000
>>>>>         </attribute>
>>>>>     </gbean>      <!-- Valves -->
>>>>>     <gbean name="ReplicationValve"
>>>>>         class="org.apache.geronimo.tomcat.ValveGBean">
>>>>>         <attribute 
>>>>> name="className">org.apache.catalina.cluster.tcp.ReplicationValve</attribute>

>>>>>
>>>>>         <attribute name="initParams">
>>>>>             
>>>>> filter=.*\.gif;.*\.js;.*\.css;.*\.png;.*\.jpeg;.*\.jpg;.*\.htm;.*\.html;.*\.txt;

>>>>>
>>>>>         </attribute>
>>>>>     </gbean> 
>>>>>
>>>>>     <!-- Deployer     <gbean name="FarmWarDeployer" 
>>>>> class="org.apache.geronimo.tomcat.cluster.FarmWarDeployerGBean">
>>>>>         <attribute name="tempDir">var/catalina/war-temp</attribute>
>>>>>         <attribute 
>>>>> name="deployDir">var/catalina/war-deploy</attribute>
>>>>>         <attribute 
>>>>> name="watchDir">var/catalina/war-listen</attribute>
>>>>>         <attribute name="watchEnabled">true</attribute>
>>>>>         <attribute name="processDeployFrequency">10</attribute>

>>>>>         <reference name="ServerInfo">
>>>>>             <moduleType>J2EEModule</moduleType>
>>>>>             <module>geronimo/j2ee-system/1.1-SNAPSHOT/car</module>
>>>>>             <name>ServerInfo</name>
>>>>>         </reference>
>>>>>     </gbean>
>>>>>     -->
>>>>> </web-app>
>>>>>
>>>>
>>>>
>>>
>>
>>
>>
>


Mime
View raw message