You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@geronimo.apache.org by Dave Colasurdo <da...@earthlink.net> on 2006/04/14 15:09:51 UTC

Re: Tomcat version in G1.1 for clustering

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-
> 
> 

Re: Tomcat version in G1.1 for clustering

Posted by Matthew Jording <ki...@gmail.com>.
Thanks Jeff,
    I will need to have a production quality deployment of Geronimo 
ready within the next couple of months. One of the requirements is to 
have some level of cluster node management facility. Initially my 
thoughts are web service and WSDM/JMX mixes. If you are currently 
working on such a facility perhaps I can just start contributing to it. 
At the very least I will keep you appraised of my progress. From your 
response I assume I should start with the clustering GBeans in the 
various tiers and work my way up.


Thanks again
Matthew Jording

Jeff Genender wrote:
> Hi Matthew,
>
> Ultimately clustering should not be based on WADI directly, but for
> components that implement the session API interface.  We want to make
> clustering components pluggable, so there is no hard coded clustering agent.
>
> I am unaware of WADI's status regarding its implementation of the
> session API.  Jules or Greg would need to comment on this.
>
> We (Geronimo) will have a session clustering component that will be
> offered as a part of Geronimo that will implement the session API
> interface shortly. Its been a side project for a couple of weeks ;-)
>
> Relative to the Tomcat clustering, yes this is an interim capability to
> allow for clustering the web tier.  Although it will always be
> available, I believe we will have a more robust solution that works
> across all component in the near future.  Stay tuned ;-)
>
> Jeff
>
> Matthew Jording wrote:
>   
>> Jeff, Dave,
>>
>>    I would like to implement a Geronimo Cluster Management Web Service
>> and need some additional information on the advances of WADI
>> integration. The current clustering examples seem to only be concerned
>> with tomcat web tier clustering and doesn't seem to use WADI to
>> facilitate the management of the sessions.
>>
>> Thanks
>> Matt
>>
>>
>> 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>
>>>>
>>>>     
>>>>         
>>>   
>>>       
>
>   


Re: Tomcat version in G1.1 for clustering

Posted by Jeff Genender <jg...@apache.org>.
Hi Gianny,

Thanks for the ping.  I would be happy to engage and walk through some
ideas, etc.  But you hit the nail on the head...I am working hard on
trying to get us to J1 - so many hours in the day! ;-)

I am with you all the way on offering a more robust solution and am in
complete alignment on producing a pluggable solution that fits multiple
clustering solutions.  I think we should be able to share some ideas and
have a great solution that fits all APIs.

Actually...I am also glad you spoke up...I need to share some ideas with
you on the OpenEJB session integration and abstracting out the
pluggability and you (the OpenEJB clustering expert) are just the person
I wanted to get some review with. ;-)

Jeff

Gianny Damour wrote:
> Hi,
> 
> Jeff, I do know that you are working hard on preparing the release of
> G1.1; however, when you get more time, could you please try to expand a
> little bit on this subject?
> 
> I am curious to see how the Session API has been implemented and how it
> is leveraged to provide clustering capabilities. I recently had a look
> to the Session API and I am sure that WADI can easily provide an
> implementation.
> 
> Also, I think that many users have been waiting for a "more robust
> (clustering) solution" and I believe that WADI can provide an enhanced
> implementation of the Session API for G1.2. Obviously, your work will
> help WADI developers to understand how to hook in WADI.
> 
> Thanks,
> Gianny
> 
> Jules Gosnell wrote:
> 
>> Jeff Genender wrote:
>>
>>> Hi Matthew,
>>>
>>> Ultimately clustering should not be based on WADI directly, but for
>>> components that implement the session API interface.  We want to make
>>> clustering components pluggable, so there is no hard coded clustering
>>> agent.
>>>  
>>>
>> With my WADI hat on:
>>
>> Agreed - this is the correct approach - however, for reasons stated in
>> the related threads on this list, I believe that the proposed API has
>> been positioned at the wrong level of abstraction. As such, I believe
>> that it actually acts as a barrier to WADI's integration.
>>
>>> I am unaware of WADI's status regarding its implementation of the
>>> session API.  Jules or Greg would need to comment on this.
>>>  
>>>
>> I've given this a lot of consideration and come to the conclusion,
>> that, whilst I have every intention of WADI and Geronimo being
>> integrated, this integration is unlikely to occur via the proposed API
>> in its current form. I think that WADI will continue to go down the
>> route of integrating its front end directly with the tier in question,
>> whilst exposing its backend to Geronimo management facilities.
>>
>>> We (Geronimo) will have a session clustering component that will be
>>> offered as a part of Geronimo that will implement the session API
>>> interface shortly. Its been a side project for a couple of weeks ;-)
>>>  
>>>
>> With my Geronimo hat on:
>>
>> Sounds interesting. Is the design discussion going on in public
>> somewhere or are you integrating an existing component? I am sure that
>> there are many people on the list who would be interested in
>> participating.
>>
>>> Relative to the Tomcat clustering, yes this is an interim capability to
>>> allow for clustering the web tier.  Although it will always be
>>> available, I believe we will have a more robust solution that works
>>> across all component in the near future.  Stay tuned ;-)
>>>  
>>>
>> You bet :-)
>>
>>
>> Jules
>>
>>> Jeff
>>>
>>> Matthew Jording wrote:
>>>  
>>>
>>>> Jeff, Dave,
>>>>
>>>>   I would like to implement a Geronimo Cluster Management Web Service
>>>> and need some additional information on the advances of WADI
>>>> integration. The current clustering examples seem to only be concerned
>>>> with tomcat web tier clustering and doesn't seem to use WADI to
>>>> facilitate the management of the sessions.
>>>>
>>>> Thanks
>>>> Matt
>>>>
>>>>
>>>> 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>
>>>>>>
>>>>>>          
>>>>>
>>>>>  
>>>>>     
>>>>
>>
>>
> 

Re: [wadi-dev] Re: Tomcat version in G1.1 for clustering

Posted by Gianny Damour <gi...@optusnet.com.au>.
Hi,

Jeff, I do know that you are working hard on preparing the release of 
G1.1; however, when you get more time, could you please try to expand a 
little bit on this subject?

I am curious to see how the Session API has been implemented and how it 
is leveraged to provide clustering capabilities. I recently had a look 
to the Session API and I am sure that WADI can easily provide an 
implementation.

Also, I think that many users have been waiting for a "more robust 
(clustering) solution" and I believe that WADI can provide an enhanced 
implementation of the Session API for G1.2. Obviously, your work will 
help WADI developers to understand how to hook in WADI.

Thanks,
Gianny

Jules Gosnell wrote:

> Jeff Genender wrote:
>
>> Hi Matthew,
>>
>> Ultimately clustering should not be based on WADI directly, but for
>> components that implement the session API interface.  We want to make
>> clustering components pluggable, so there is no hard coded clustering 
>> agent.
>>  
>>
> With my WADI hat on:
>
> Agreed - this is the correct approach - however, for reasons stated in 
> the related threads on this list, I believe that the proposed API has 
> been positioned at the wrong level of abstraction. As such, I believe 
> that it actually acts as a barrier to WADI's integration.
>
>> I am unaware of WADI's status regarding its implementation of the
>> session API.  Jules or Greg would need to comment on this.
>>  
>>
> I've given this a lot of consideration and come to the conclusion, 
> that, whilst I have every intention of WADI and Geronimo being 
> integrated, this integration is unlikely to occur via the proposed API 
> in its current form. I think that WADI will continue to go down the 
> route of integrating its front end directly with the tier in question, 
> whilst exposing its backend to Geronimo management facilities.
>
>> We (Geronimo) will have a session clustering component that will be
>> offered as a part of Geronimo that will implement the session API
>> interface shortly. Its been a side project for a couple of weeks ;-)
>>  
>>
> With my Geronimo hat on:
>
> Sounds interesting. Is the design discussion going on in public 
> somewhere or are you integrating an existing component? I am sure that 
> there are many people on the list who would be interested in 
> participating.
>
>> Relative to the Tomcat clustering, yes this is an interim capability to
>> allow for clustering the web tier.  Although it will always be
>> available, I believe we will have a more robust solution that works
>> across all component in the near future.  Stay tuned ;-)
>>  
>>
> You bet :-)
>
>
> Jules
>
>> Jeff
>>
>> Matthew Jording wrote:
>>  
>>
>>> Jeff, Dave,
>>>
>>>   I would like to implement a Geronimo Cluster Management Web Service
>>> and need some additional information on the advances of WADI
>>> integration. The current clustering examples seem to only be concerned
>>> with tomcat web tier clustering and doesn't seem to use WADI to
>>> facilitate the management of the sessions.
>>>
>>> Thanks
>>> Matt
>>>
>>>
>>> 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>
>>>>>
>>>>>          
>>>>
>>>>  
>>>>     
>>>
>
>



Re: Tomcat version in G1.1 for clustering

Posted by Jules Gosnell <ju...@coredevelopers.net>.
Jeff Genender wrote:

>Hi Matthew,
>
>Ultimately clustering should not be based on WADI directly, but for
>components that implement the session API interface.  We want to make
>clustering components pluggable, so there is no hard coded clustering agent.
>  
>
With my WADI hat on:

Agreed - this is the correct approach - however, for reasons stated in 
the related threads on this list, I believe that the proposed API has 
been positioned at the wrong level of abstraction. As such, I believe 
that it actually acts as a barrier to WADI's integration.

>I am unaware of WADI's status regarding its implementation of the
>session API.  Jules or Greg would need to comment on this.
>  
>
I've given this a lot of consideration and come to the conclusion, that, 
whilst I have every intention of WADI and Geronimo being integrated, 
this integration is unlikely to occur via the proposed API in its 
current form. I think that WADI will continue to go down the route of 
integrating its front end directly with the tier in question, whilst 
exposing its backend to Geronimo management facilities.

>We (Geronimo) will have a session clustering component that will be
>offered as a part of Geronimo that will implement the session API
>interface shortly. Its been a side project for a couple of weeks ;-)
>  
>
With my Geronimo hat on:

Sounds interesting. Is the design discussion going on in public 
somewhere or are you integrating an existing component? I am sure that 
there are many people on the list who would be interested in participating.

>Relative to the Tomcat clustering, yes this is an interim capability to
>allow for clustering the web tier.  Although it will always be
>available, I believe we will have a more robust solution that works
>across all component in the near future.  Stay tuned ;-)
>  
>
You bet :-)


Jules

>Jeff
>
>Matthew Jording wrote:
>  
>
>>Jeff, Dave,
>>
>>   I would like to implement a Geronimo Cluster Management Web Service
>>and need some additional information on the advances of WADI
>>integration. The current clustering examples seem to only be concerned
>>with tomcat web tier clustering and doesn't seem to use WADI to
>>facilitate the management of the sessions.
>>
>>Thanks
>>Matt
>>
>>
>>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>
>>>>
>>>>    
>>>>        
>>>>
>>>  
>>>      
>>>


-- 
"Open Source is a self-assembling organism. You dangle a piece of
string into a super-saturated solution and a whole operating-system
crystallises out around it."

/**********************************
 * Jules Gosnell
 * Partner
 * Core Developers Network (Europe)
 *
 *    www.coredevelopers.net
 *
 * Open Source Training & Support.
 **********************************/


Re: Tomcat version in G1.1 for clustering

Posted by Jeff Genender <jg...@apache.org>.
Hi Matthew,

Ultimately clustering should not be based on WADI directly, but for
components that implement the session API interface.  We want to make
clustering components pluggable, so there is no hard coded clustering agent.

I am unaware of WADI's status regarding its implementation of the
session API.  Jules or Greg would need to comment on this.

We (Geronimo) will have a session clustering component that will be
offered as a part of Geronimo that will implement the session API
interface shortly. Its been a side project for a couple of weeks ;-)

Relative to the Tomcat clustering, yes this is an interim capability to
allow for clustering the web tier.  Although it will always be
available, I believe we will have a more robust solution that works
across all component in the near future.  Stay tuned ;-)

Jeff

Matthew Jording wrote:
> Jeff, Dave,
> 
>    I would like to implement a Geronimo Cluster Management Web Service
> and need some additional information on the advances of WADI
> integration. The current clustering examples seem to only be concerned
> with tomcat web tier clustering and doesn't seem to use WADI to
> facilitate the management of the sessions.
> 
> Thanks
> Matt
> 
> 
> 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>
>>>
>>>     
>>
>>   

Re: Tomcat version in G1.1 for clustering

Posted by Matthew Jording <ki...@gmail.com>.
Jeff, Dave,

    I would like to implement a Geronimo Cluster Management Web Service 
and need some additional information on the advances of WADI 
integration. The current clustering examples seem to only be concerned 
with tomcat web tier clustering and doesn't seem to use WADI to 
facilitate the management of the sessions.

Thanks
Matt


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>
>>
>>     
>
>   


Re: Tomcat version in G1.1 for clustering

Posted by Dave Colasurdo <da...@earthlink.net>.
Filip Hanik - Dev Lists wrote:

> Dave Colasurdo wrote:
>>
>> *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)..
> ok, this is probably not desired behavior for a cluster with more than 2 
> nodes.
> For this to work correctly, you need to have the JvmRouteBinderValve 
> configured in tomcat.
> This valve, will rewrite the sessionId to include the new jvmRoute, 
> node2 in your scenario.
> 
> Filip
> 

Updated the deployment plan with the new Valve (included in the Valve 
Chain) and all now works as expected.  After failover, the cookie is 
updated with the nodeid of the new server that processes the request.

  <gbean name="JvmRouteBinderValve"
     class="org.apache.geronimo.tomcat.ValveGBean">
     <attribute 
name="className">org.apache.catalina.cluster.session.JvmRouteBinderValve</attribute>
     <attribute name="initParams">
         enabled=true
     </attribute>
</gbean>

Will update the G1.1 plan on the wiki.

-Dave-

Re: Tomcat version in G1.1 for clustering

Posted by Filip Hanik - Dev Lists <de...@hanik.com>.
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)..
ok, this is probably not desired behavior for a cluster with more than 2 
nodes.
For this to work correctly, you need to have the JvmRouteBinderValve 
configured in tomcat.
This valve, will rewrite the sessionId to include the new jvmRoute, 
node2 in your scenario.

Filip


Re: Tomcat version in G1.1 for clustering

Posted by Jim Jagielski <ji...@jaguNET.com>.
On Apr 19, 2006, at 2:47 PM, Dave Colasurdo wrote:

> Hmmm..  What level of Tomcat does the community want to include in  
> G1.1?
>
> Background...
>
> Tomcat 5.5.9 - current working level in G1.0 and G1.1.. Clustering  
> works.. TCK is testing with this level..
>
> Tomcat 5.5.10-5.5.14 - clustering is broken
>
> Tomcat 5.5.15 - Clustering seems to work somewhat. We've  
> encountered at least one bug. Filip (tomcat clustering developer)  
> mentioned there are still some significant bugs in this level and  
> advises us to move to 5.5.16.
>
> Tomcat 5.5.16 - Jeff has mentioned that he and David J had  
> previously discovered some issues that required significant rework  
> that he didn't want to tackle until G1.2..
>
> So...  Do we stick with 5.5.9 for G1.1 and move to 5.5.16+ in G1.2?
>

I think 5.5.9 is safest, and baseline 5.5.17 for 1.2. 

Re: Tomcat version in G1.1 for clustering

Posted by Dain Sundstrom <da...@iq80.com>.
On Apr 19, 2006, at 12:17 PM, Jeff Genender wrote:

> IIRC, the 5.5.16 issues had to do with cross context stuff that David
> Jencks and I worked pretty diligently on to fix.  So I would  
> probably be
> apt to push a -1 on 5.5.16 for 1.1.

Jeff or David, can you be more specific on the issue with 5.5.16?   
Was is a problem in our integration code, the tomcat code, or tck  
failures related to either code base.

BTW, I am fine with sticking to 5.5.9, just want some more info on  
the problems.

-dain

Re: Tomcat version in G1.1 for clustering

Posted by Dave Colasurdo <da...@earthlink.net>.
Thanks Filip!!

Filip Hanik - Dev Lists wrote:
> 5.5.15,16,17 has some new features, like the JvmRouteBinderValve, that 
> will rewrite the session id for a new node when a node crashes.
> This is an important feature. The coordination error that you ran into I 
> am not yet sure why it is happening, hence I can't comment on it, and I 
> don't know if it is a result of a code change or just a one time fluke.
> 
> I would make the same recommendation, to use 5.5.9 for 1.1 since 1.1 is 
> right around the corner.
> 
> And I will extend/commit my help to get 1.2/5.5.17 in a good shape, 
> including documentation and testing for the clustering piece.
> 
> Filip
> 
> Dave Colasurdo wrote:
>>
>>
>> Jeff Genender wrote:
>>> I would vote for not moving to 5.5.16 for 1.1.  IMHO, its too close.  We
>>> did some preliminary testing for 5.5.15 and it seems ok...and we will
>>> know in the next several days if its good to bake in to 1.1.  
>>
>> Filip,
>>
>> How significant are the 5.5.15 bugs that you alluded to?  Or is this 
>> just a general request to use the latest level...
>>
>> Are the problems unique to clustering?
>>
>> Do you suspect the coordination error to be a code bug in 5.5.15? 
>> AFAICT, my setup is identical to 5.5.9..
>>
>> Would like your input on 5.5.9 -vs- 5.5.15..
>>
>> Thanks
>> -Dave-
>>
>>> 5.5.9 is fine to stick with since its pretty stable and it just 
>>> works, and in the
>>> event 5.5.15 causes any discomfort during testing, we are comfortable
>>> that we can fall back on it.
>>>
>>> IIRC, the 5.5.16 issues had to do with cross context stuff that David
>>> Jencks and I worked pretty diligently on to fix.  So I would probably be
>>> apt to push a -1 on 5.5.16 for 1.1.
>>>
>>> Jeff
>>>
>>> Dave Colasurdo wrote:
>>>> Hmmm..  What level of Tomcat does the community want to include in 
>>>> G1.1?
>>>>
>>>> Background...
>>>>
>>>> Tomcat 5.5.9 - current working level in G1.0 and G1.1.. Clustering
>>>> works.. TCK is testing with this level..
>>>>
>>>> Tomcat 5.5.10-5.5.14 - clustering is broken
>>>>
>>>> Tomcat 5.5.15 - Clustering seems to work somewhat. We've encountered at
>>>> least one bug. Filip (tomcat clustering developer) mentioned there are
>>>> still some significant bugs in this level and advises us to move to 
>>>> 5.5.16.
>>>>
>>>> Tomcat 5.5.16 - Jeff has mentioned that he and David J had previously
>>>> discovered some issues that required significant rework that he didn't
>>>> want to tackle until G1.2..
>>>>
>>>> So...  Do we stick with 5.5.9 for G1.1 and move to 5.5.16+ in G1.2?
>>>>
>>>> Thanks
>>>> -Dave-
>>>>
>>>>
>>>>
>>>> Filip Hanik - Dev Lists wrote:
>>>>> 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>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>
>>>>>
>>>
>>>
>>
> 
> 
> 

Re: Tomcat version in G1.1 for clustering

Posted by Filip Hanik - Dev Lists <de...@hanik.com>.
5.5.15,16,17 has some new features, like the JvmRouteBinderValve, that 
will rewrite the session id for a new node when a node crashes.
This is an important feature. The coordination error that you ran into I 
am not yet sure why it is happening, hence I can't comment on it, and I 
don't know if it is a result of a code change or just a one time fluke.

I would make the same recommendation, to use 5.5.9 for 1.1 since 1.1 is 
right around the corner.

And I will extend/commit my help to get 1.2/5.5.17 in a good shape, 
including documentation and testing for the clustering piece.

Filip

Dave Colasurdo wrote:
>
>
> Jeff Genender wrote:
>> I would vote for not moving to 5.5.16 for 1.1.  IMHO, its too close.  We
>> did some preliminary testing for 5.5.15 and it seems ok...and we will
>> know in the next several days if its good to bake in to 1.1.  
>
> Filip,
>
> How significant are the 5.5.15 bugs that you alluded to?  Or is this 
> just a general request to use the latest level...
>
> Are the problems unique to clustering?
>
> Do you suspect the coordination error to be a code bug in 5.5.15? 
> AFAICT, my setup is identical to 5.5.9..
>
> Would like your input on 5.5.9 -vs- 5.5.15..
>
> Thanks
> -Dave-
>
>> 5.5.9 is fine to stick with since its pretty stable and it just 
>> works, and in the
>> event 5.5.15 causes any discomfort during testing, we are comfortable
>> that we can fall back on it.
>>
>> IIRC, the 5.5.16 issues had to do with cross context stuff that David
>> Jencks and I worked pretty diligently on to fix.  So I would probably be
>> apt to push a -1 on 5.5.16 for 1.1.
>>
>> Jeff
>>
>> Dave Colasurdo wrote:
>>> Hmmm..  What level of Tomcat does the community want to include in 
>>> G1.1?
>>>
>>> Background...
>>>
>>> Tomcat 5.5.9 - current working level in G1.0 and G1.1.. Clustering
>>> works.. TCK is testing with this level..
>>>
>>> Tomcat 5.5.10-5.5.14 - clustering is broken
>>>
>>> Tomcat 5.5.15 - Clustering seems to work somewhat. We've encountered at
>>> least one bug. Filip (tomcat clustering developer) mentioned there are
>>> still some significant bugs in this level and advises us to move to 
>>> 5.5.16.
>>>
>>> Tomcat 5.5.16 - Jeff has mentioned that he and David J had previously
>>> discovered some issues that required significant rework that he didn't
>>> want to tackle until G1.2..
>>>
>>> So...  Do we stick with 5.5.9 for G1.1 and move to 5.5.16+ in G1.2?
>>>
>>> Thanks
>>> -Dave-
>>>
>>>
>>>
>>> Filip Hanik - Dev Lists wrote:
>>>> 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>
>>>>>>>>>
>>>>>>>>
>>>>>>
>>>>>>
>>>>
>>>>
>>
>>
>


Re: Tomcat version in G1.1 for clustering

Posted by Dave Colasurdo <da...@earthlink.net>.

Jeff Genender wrote:
> I would vote for not moving to 5.5.16 for 1.1.  IMHO, its too close.  We
> did some preliminary testing for 5.5.15 and it seems ok...and we will
> know in the next several days if its good to bake in to 1.1.  

Filip,

How significant are the 5.5.15 bugs that you alluded to?  Or is this 
just a general request to use the latest level...

Are the problems unique to clustering?

Do you suspect the coordination error to be a code bug in 5.5.15? 
AFAICT, my setup is identical to 5.5.9..

Would like your input on 5.5.9 -vs- 5.5.15..

Thanks
-Dave-

> 5.5.9 is fine to stick with since its pretty stable and it just works, and in the
> event 5.5.15 causes any discomfort during testing, we are comfortable
> that we can fall back on it.
> 
> IIRC, the 5.5.16 issues had to do with cross context stuff that David
> Jencks and I worked pretty diligently on to fix.  So I would probably be
> apt to push a -1 on 5.5.16 for 1.1.
> 
> Jeff
> 
> Dave Colasurdo wrote:
>> Hmmm..  What level of Tomcat does the community want to include in G1.1?
>>
>> Background...
>>
>> Tomcat 5.5.9 - current working level in G1.0 and G1.1.. Clustering
>> works.. TCK is testing with this level..
>>
>> Tomcat 5.5.10-5.5.14 - clustering is broken
>>
>> Tomcat 5.5.15 - Clustering seems to work somewhat. We've encountered at
>> least one bug. Filip (tomcat clustering developer) mentioned there are
>> still some significant bugs in this level and advises us to move to 5.5.16.
>>
>> Tomcat 5.5.16 - Jeff has mentioned that he and David J had previously
>> discovered some issues that required significant rework that he didn't
>> want to tackle until G1.2..
>>
>> So...  Do we stick with 5.5.9 for G1.1 and move to 5.5.16+ in G1.2?
>>
>> Thanks
>> -Dave-
>>
>>
>>
>> Filip Hanik - Dev Lists wrote:
>>> 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>
>>>>>>>>
>>>>>>>
>>>>>
>>>>>
>>>
>>>
> 
> 

Re: Tomcat version in G1.1 for clustering

Posted by Jeff Genender <jg...@apache.org>.
I would vote for not moving to 5.5.16 for 1.1.  IMHO, its too close.  We
did some preliminary testing for 5.5.15 and it seems ok...and we will
know in the next several days if its good to bake in to 1.1.  5.5.9 is
fine to stick with since its pretty stable and it just works, and in the
event 5.5.15 causes any discomfort during testing, we are comfortable
that we can fall back on it.

IIRC, the 5.5.16 issues had to do with cross context stuff that David
Jencks and I worked pretty diligently on to fix.  So I would probably be
apt to push a -1 on 5.5.16 for 1.1.

Jeff

Dave Colasurdo wrote:
> Hmmm..  What level of Tomcat does the community want to include in G1.1?
> 
> Background...
> 
> Tomcat 5.5.9 - current working level in G1.0 and G1.1.. Clustering
> works.. TCK is testing with this level..
> 
> Tomcat 5.5.10-5.5.14 - clustering is broken
> 
> Tomcat 5.5.15 - Clustering seems to work somewhat. We've encountered at
> least one bug. Filip (tomcat clustering developer) mentioned there are
> still some significant bugs in this level and advises us to move to 5.5.16.
> 
> Tomcat 5.5.16 - Jeff has mentioned that he and David J had previously
> discovered some issues that required significant rework that he didn't
> want to tackle until G1.2..
> 
> So...  Do we stick with 5.5.9 for G1.1 and move to 5.5.16+ in G1.2?
> 
> Thanks
> -Dave-
> 
> 
> 
> Filip Hanik - Dev Lists wrote:
>> 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>
>>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>
>>>>
>>>>
>>>
>>
>>
>>

Re: Tomcat version in G1.1 for clustering

Posted by Dave Colasurdo <da...@earthlink.net>.
Hmmm..  What level of Tomcat does the community want to include in G1.1?

Background...

Tomcat 5.5.9 - current working level in G1.0 and G1.1.. Clustering 
works.. TCK is testing with this level..

Tomcat 5.5.10-5.5.14 - clustering is broken

Tomcat 5.5.15 - Clustering seems to work somewhat. We've encountered at 
least one bug. Filip (tomcat clustering developer) mentioned there are 
still some significant bugs in this level and advises us to move to 5.5.16.

Tomcat 5.5.16 - Jeff has mentioned that he and David J had previously 
discovered some issues that required significant rework that he didn't 
want to tackle until G1.2..

So...  Do we stick with 5.5.9 for G1.1 and move to 5.5.16+ in G1.2?

Thanks
-Dave-



Filip Hanik - Dev Lists wrote:
> 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>
>>>>>>
>>>>>
>>>>>
>>>>
>>>
>>>
>>>
>>
> 
> 
> 

Re: Tomcat version in G1.1 for clustering

Posted by Filip Hanik - Dev Lists <de...@hanik.com>.
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>
>>>>>
>>>>
>>>>
>>>
>>
>>
>>
>


Re: Tomcat version in G1.1 for clustering

Posted by Dave Colasurdo <da...@earthlink.net>.
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>
>>>>
>>>
>>>
>>
> 
> 
> 

Re: Tomcat version in G1.1 for clustering

Posted by Filip Hanik - Dev Lists <de...@hanik.com>.
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>
>>>
>>
>>
>


Re: Tomcat version in G1.1 for clustering

Posted by Dave Colasurdo <da...@earthlink.net>.
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>
>>
> 
> 

Re: Tomcat version in G1.1 for clustering

Posted by Jeff Genender <jg...@apache.org>.
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>
> 

Re: Tomcat version in G1.1 for clustering

Posted by Dave Colasurdo <da...@earthlink.net>.
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-
>>>
> 
> 

Re: Tomcat version in G1.1 for clustering

Posted by Jeff Genender <jg...@apache.org>.
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-
>>
>>