geronimo-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dave Colasurdo <davec...@earthlink.net>
Subject Re: Geronimo clustering
Date Thu, 13 Jul 2006 13:51:35 GMT
Krish,

  Very strange.. Is it always the last value that you store in the 
session that is available after failover?  In other words, when both 
sessions are started, and you are stuck to server1.. If you add five 
different name value pairs to the session (prop1=a, prop2=b, prop3=c, 
prop4=d, prop5=e)..  Now stop server1 .. and Add prop6=f to the session 
..Does only prop5 and prop6 show up on server2?

Are you seeing data in the session other than prop6?

Seems that there are are several possibilities as to where the problem 
could happen:
1) Session data isn't being properly replicated between the nodes 
(believe this is independent of any mod-jk configuration)
2) Failed over request is not finding the original session..
3) Failed over request finds the session but not all of the session data


I do see a few minor differences in our configs

e.g.
worker.loadbalancer.balanced_workers -vs-
worker.loadbalancer.balance_workers

I don't use the following properties:
worker.loadbalancer.sticky_session_force (hmm, may want to remove this 
and see if it has any affect)
worker.maintain ,socket_timeout, socket_keepalive

Will send you my full configuration.

-Dave-

Krishnakumar B wrote:
> Hi Dave,
> 
> Thanks for ur note. I am able to get this to work but still face one
> issue.I put three values in session in server1. I shutdown server1.
> When i refresh the browser i get the page from server2 but it has only
> the last value.  I am using the tomcat cluster example [
> servlets-examples-cluster ]
> 
> I dont get the No engine jvmRoute attribute configured WARN messages.
> 
> I have updated the config.xml.
>    <gbean name="TomcatEngine">
>      <attribute name="initParams">name=Geronimo
>     jvmRoute=node2</attribute>
>    </gbean>
> and
>    <gbean name="TomcatEngine">
>      <attribute name="initParams">name=Geronimo
>     jvmRoute=node1</attribute>
>    </gbean>
> 
> 
> I have put IPs in plan.
> I get the same messages as u have listed in the mail
> 
> My workers.properties
> 
> worker.list=loadbalancer,status
> worker.maintain=60
> 
> worker.node1.type=ajp13
> worker.node1.host=yy.yy.yy.yy
> worker.node1.port=8009
> worker.node1.socket_timeout=60
> worker.node1.socket_keepalive=true
> worker.node1.lbfactor=1
> 
> worker.node2.type=ajp13
> worker.node2.host=xx.xx.xx.xx
> worker.node2.port=8009
> worker.node2.socket_timeout=60
> worker.node2.socket_keepalive=true
> worker.node2.lbfactor=1
> 
> worker.loadbalancer.type=lb
> worker.loadbalancer.balanced_workers=node1,node2
> worker.loadbalancer.sticky_session=1
> worker.loadbalancer.sticky_session_force=0
> worker.status.type=status
> 
> and
> 
> httpd.conf ( Added these lines at end of existing httpd.conf )
> 
> LoadModule jk_module modules/mod_jk.so
> 
> #
> # The following can be added anywhere after the above LoadModule statement.
> #
> <IfModule mod_jk.c>
>    JkWorkersFile       conf/workers.properties
>    JkLogFile           logs/mod_jk.log
>    JkLogLevel          info
>    JkLogStampFormat    "[%a %b %d %H:%M:%S %Y] "
>    JkOptions           +ForwardKeySize +ForwardURICompat 
> -ForwardDirectories
>    JkRequestLogFormat  "%w %V %T"
> 
>    <Location /*/WEB-INF/*>
>        AllowOverride None
>        deny from all
>    </Location>
> 
>    <Location /*/META-INF/*>
>        AllowOverride None
>        deny from all
>    </Location>
> 
>    # forward ALL web requests to our mod_jk loadbalancer workers
>    JkMount /* loadbalancer
> 
> </IfModule>
> 
> Thanks for ur help.
> 
> Regards
> Krish
> 
> 
> n 7/13/06, Dave Colasurdo <davecola@earthlink.net> wrote:
>> Ahh, just remembered one other issue I encountered, extra whitespace
>> after the IP addresses in config.xml seemed to mess things up. You
>> should also make sure that is ok in your copy..
>>
>> -Dave-
>>
>> Dave Colasurdo wrote:
>> > Also, if you are using your own application .. Do you have the webapp
>> > marked as distributable in web.xml?
>> >
>> > -Dave-
>> >
>> > Dave Colasurdo wrote:
>> >> Krish,
>> >>
>> >>   I downloaded fresh copies of G1.1 and tried clustering again.  I did
>> >> not see the behavior you are describing. Failover of session data
>> >> worked as expected.  I suspect the "No engine jvmRoute attribute
>> >> configured" error in your run is significant.  Perhaps this is somehow
>> >> misconfigured... Did you stop the server before updating config.xml?
>> >> Are the IP addresses correct in the each deployment plan and agree
>> >> with the settings in the webserver configuration?
>> >>
>> >> Are you hitting the webserver port 80 and not 8080 ..
>> >> http://YourHost/servlets-examples-cluster
>> >>
>> >> Please attach your config.xml files and deployment plans and webserver
>> >> config.
>> >>
>> >> BTW, Here are the logs from my run:
>> >>
>> >> Replaced node1 IP address with xx.xx.xx.xx in logs below
>> >> Replaced node2 IP address with yy.yy.yy.yy in logs below
>> >>
>> >>
>> >> *1)* Starting the first node (node 98 - aka server1)
>> >>
>> >> [snip]
>> >> [*********************> ] 93%  13s Starting
>> >> geronimo/servlets-examp...14:18:34,5
>> >> 46 INFO  [SimpleTcpCluster] Cluster is about to start
>> >> 14:18:34,562 INFO  [SimpleTcpCluster] Add Default ClusterListener at
>> >> cluster /servlets-examples-cluster
>> >> 14:18:34,578 INFO  [ReplicationTransmitter] Start ClusterSender at
>> >> cluster geronimo:type=Cluster with name geronimo:type=ClusterSender
>> >> 14:18:34,593 INFO  [McastService] Setting multihome multicast
>> >> interface to:/xx.xx.xx.xx
>> >> 14:18:34,593 INFO  [McastService] Sleeping for 2000 secs to establish
>> >> cluster membership
>> >> [*********************> ] 93%  15s Starting
>> >> geronimo/servlets-examp...14:18:36,609 INFO  [McastService] membership
>> >> mbean registered (geronimo:type=ClusterMembership)
>> >> 14:18:36,609 INFO  [JvmRouteBinderValve] JvmRouteBinderValve started
>> >> [*********************> ] 93%  16s Starting
>> >> geronimo/servlets-examp...14:18:36,984 INFO  [DeltaManager] Register
>> >> manager /servlets-examples-cluster to cluster element unknown with
>> >> name /servlets-examples-cluster
>> >> 14:18:36,984 INFO  [DeltaManager] Starting clustering manager at
>> >> /servlets-examples-cluster
>> >> 14:18:36,984 INFO  [DeltaManager] Manager
>> >> [/servlets-examples-cluster]: skipping state transfer. No members
>> >> active in cluster group.
>> >> [***********************] 100%  16s Startup complete
>> >>
>> >> [snip]
>> >>
>> >> *2)* Starting the second node (node 99 - aka server 2)
>> >>
>> >> [snip]
>> >> Starting Geronimo Application Server v1.1
>> >> [*********************> ] 93%  22s Starting
>> >> geronimo/servlets-examp...14:19:27,220 INFO  [SimpleTcpCluster]
>> >> Cluster is about to start
>> >> 14:19:27,236 INFO  [SimpleTcpCluster] Add Default ClusterListener at
>> >> cluster /servlets-examples-cluster
>> >> 14:19:27,267 INFO  [ReplicationTransmitter] Start ClusterSender at
>> >> cluster geronimo:type=Cluster with name geronimo:type=ClusterSender
>> >> 14:19:27,283 INFO  [McastService] Setting multihome multicast
>> >> interface to:/yy.yy.yy.yy
>> >> 14:19:27,298 INFO  [McastService] Sleeping for 2000 secs to establish
>> >> cluster membership
>> >> [*********************> ] 93%  23s Starting
>> >> geronimo/servlets-examp...14:19:27,454 INFO  [SimpleTcpCluster]
>> >> Replication member
>> >> 
>> added:org.apache.catalina.cluster.mcast.McastMember[tcp://xx.xx.xx.xx:4001,catalina,xx.xx.xx.xx,4001,

>>
>> >> alive=50500]
>> >> [*********************> ] 93%  24s Starting
>> >> geronimo/servlets-examp...14:19:29,2
>> >> 98 INFO  [McastService] membership mbean registered
>> >> (geronimo:type=ClusterMembership)
>> >> 14:19:29,314 INFO  [JvmRouteBinderValve] JvmRouteBinderValve started
>> >> 14:19:29,423 INFO  [DeltaManager] Register manager
>> >> /servlets-examples-cluster to cluster element unknown with name
>> >> /servlets-examples-cluster
>> >> 14:19:29,423 INFO  [DeltaManager] Starting clustering manager at
>> >> /servlets-examples-cluster
>> >> [*********************> ] 93%  25s Starting
>> >> geronimo/servlets-examp...14:19:29,454 WARN  [DeltaManager] Manager
>> >> [/servlets-examples-cluster], requesting session state from
>> >> 
>> org.apache.catalina.cluster.mcast.McastMember[tcp://xx.xx.xx.xx:4001,catalina,xx.xx.xx.xx,4001,

>>
>> >> alive=52000]. This operation will timeout if no session state has been
>> >> received within 60 seconds.
>> >> [*********************> ] 93%  25s Starting
>> >> geronimo/servlets-examp...14:19:30,001 INFO  [DeltaManager] Manager
>> >> [/servlets-examples-cluster]; session state send
>> >>  at 7/12/06 2:19 PM received in 578 ms.
>> >> [***********************] 100%  25s Startup complete
>> >> [snip]
>> >>
>> >>
>> >> *3)* Added to Node1 console log when node2 is started
>> >>
>> >> 14:19:28,953 INFO  [SimpleTcpCluster] Replication member
>> >> 
>> added:org.apache.catalina.cluster.mcast.McastMember[tcp://yy.yy.yy.yy:4001,catalina,yy.yy.yy.yy,4001,

>>
>> >> alive=0]
>> >>
>> >> *4)* Nothing is reflected in the console log when when adding values
>> >> to the session via the servlet.
>> >>
>> >> *5)* This gets added to node2 console when node1 is stopped..
>> >>
>> >> 14:24:40,720 INFO  [SimpleTcpCluster] Received member
>> >> 
>> disappeared:org.apache.caalina.cluster.mcast.McastMember[tcp://xx.xx.xx.xx:4001,catalina,xx.xx.xx.xx,4

>>
>> >>
>> >> 01, alive=360688]
>> >>
>> >> *6)* Failover of session data works as expected..
>> >>
>> >>
>> >> -Dave-
>> >>
>> >> Krishnakumar B wrote:
>> >>> hi Dave,
>> >>>
>> >>> Thanks for ur note.
>> >>>
>> >>> I have done these checks. I get these messages in second cluster
>> >>> member where failover occurs.
>> >>>
>> >>> 14:53:21,003 INFO  [DeltaManager] Manager
>> >>> [/servlets-examples-cluster]: skipping state transfer. No members
>> >>> active in cluster group.
>> >>> 15:10:34,700 WARN  [JvmRouteBinderValve] No engine jvmRoute attribute
>> >>> configured
>> >>> 15:10:34,720 WARN  [JvmRouteBinderValve] No engine jvmRoute attribute
>> >>> configured
>> >>>
>> >>> Does this mean something is wrong? I get one session value 
>> failover to
>> >>> second server. All cluster members are active.
>> >>>
>> >>> Regards
>> >>> Krish
>> >>>
>> >>> I have configured jvmRoute
>> >>> On 7/11/06, Dave Colasurdo <davecola@earthlink.net> wrote:
>> >>>> Krish,
>> >>>>
>> >>>>  A few things to check..
>> >>>>
>> >>>> 1) jvmRoute is unique for each node
>> >>>> 2) The value used in jvmRoute agrees with the value set in the 
>> mod-jk
>> >>>> configuration (e.g. jvmRoute=node1, jvmRoute=node2,  and
>> >>>> worker.loadbalancer.balance_workers=node1,node2,
>> >>>> worker.node1.port=8009,
>> >>>> etc.)
>> >>>> 3) Deployment plan for each node has the correct IP address for
each
>> >>>> node (in 2 spots in the xml)
>> >>>> 4) You are using the most recent deployment *5.5.15* deployment
plan
>> >>>> that includes JVMRouteBinderValve...  Latest plan and instructions
>> >>>> available at: http://cwiki.apache.org/GMOxDOC11/clustering.html
>> >>>> 5) Verify that both machines are truly on the same subnet..  Both
>> >>>> machines should use the same subnet mask.  The network portion of

>> the
>> >>>> addresses should be identical when the subnet mask is bitwise ANDed
>> >>>> with
>> >>>> each of the individual IP addresses.
>> >>>> 6) You are using the same browser instance for the whole test. 

>> Clear
>> >>>> the cookie cache in the browser before the test.
>> >>>>
>> >>>> -Dave-
>> >>>>
>> >>>>
>> >>>> Krishnakumar B wrote:
>> >>>> > hi,
>> >>>> >
>> >>>> > Have set the required properties in app, jvmRoute etc..
>> >>>> >
>> >>>> > The log shows this
>> >>>> >
>> >>>> > 16:46:03,810 INFO  [JvmRouteBinderValve] JvmRouteBinderValve

>> started
>> >>>> > 16:46:04,175 INFO  [DeltaManager] Register manager
>> >>>> > /servlet-examples-cluster to cluster element unknown with name
>> >>>> > /servlet-examples-cluster
>> >>>> > 16:46:04,176 INFO  [DeltaManager] Starting clustering manager
at
>> >>>> > /servlet-examples-cluster
>> >>>> > 16:46:04,176 INFO  [DeltaManager] Manager
>> >>>> [/servlet-examples-cluster]:
>> >>>> > skipping state transfer. No members active in cluster group.
>> >>>> >
>> >>>> > Does this message mean something is not correct.
>> >>>> > 16:46:04,176 INFO  [DeltaManager] Manager
>> >>>> [/servlet-examples-cluster]:
>> >>>> > skipping state transfer. No members active in cluster group.
>> >>>> >
>> >>>> > I still get only 1 value replicated.
>> >>>> >
>> >>>> > Regards
>> >>>> > Krish
>> >>>> >
>> >>>> >
>> >>>> > On 7/10/06, Santosh Koti <Santosh_Koti@infosys.com> wrote:
>> >>>> >>
>> >>>> >>
>> >>>> >> Hi Krishna,
>> >>>> >>
>> >>>> >> Well , can u do this way:
>> >>>> >>
>> >>>> >> 1) Stop both ur servers
>> >>>> >> 2) Start server server1
>> >>>> >> 3) Aftter server server1 is up, start ur server 2
>> >>>> >> 4) in ur server2 startup console, u should something like
>> >>>> >> deltamanager[/contextroot]...
>> >>>> >>
>> >>>> >> 5)Chk ur app...?
>> >>>> >> 6) Have u set jvmroute in config.xml of server2..?
>> >>>> >>
>> >>>> >> PS: U shd not get smething like jvmRoute2 bind /whatever

>> else...?!!
>> >>>> >>
>> >>>> >>
>> >>>> >>
>> >>>> >> Thanks,
>> >>>> >> Santosh.
>> >>>> >> "Don't talk about yourself; it will be done when you leave.
"
>> >>>> >>
>> >>>> >>
>> >>>> >> -----Original Message-----
>> >>>> >> From: Krishnakumar B [mailto:www.bkk@gmail.com]
>> >>>> >> Sent: Monday, July 10, 2006 3:55 PM
>> >>>> >> To: user@geronimo.apache.org
>> >>>> >> Subject: Geronimo clustering
>> >>>> >>
>> >>>> >> Hi,
>> >>>> >>
>> >>>> >> I am trying out geronimo clustering example. I seem to
have a
>> >>>> problem
>> >>>> >> with Session Failover.
>> >>>> >>
>> >>>> >> I am using Apache HTTP server 2.0.58 and mod_jk 1.2.15
and
>> >>>> geronimo 1.1
>> >>>> >>
>> >>>> >> I create two session variables in server 1 - server1-1
= 1 &
>> >>>> server1-2 =
>> >>>> >> 2
>> >>>> >> I stop server1. Only server1-2 = 2 replicated in server
2.
>> >>>> >> Now i add a new variable in server2 server2-1 = 1
>> >>>> >> Now i start server1
>> >>>> >> Now i stop server2
>> >>>> >> I should have server1-1=1, server1-2=2 and server2-1=1
in server1
>> >>>> >> Instead i have only server2-1=1 in server1
>> >>>> >>
>> >>>> >> I am not sure if i am doing something wrong. I have set

>> jvmRoute in
>> >>>> >> config.xml, given correct IP address in cluster application

>> plan and
>> >>>> >> setup workers.properties.
>> >>>> >>
>> >>>> >> I get these messages in server2
>> >>>> >> 15:38:37,452 WARN  [JvmRouteBinderValve] No engine jvmRoute
>> >>>> attribute
>> >>>> >> configured!
>> >>>> >> and
>> >>>> >> 15:30:57,791 INFO  [DeltaManager] Manager
>> >>>> >> [/servlets-examples-cluster]: skipping state transfer.
No members
>> >>>> >> active in cluster group.
>> >>>> >> though both members of cluster are up and i am able to
ping both
>> >>>> >> machines. there are in same subnet.
>> >>>> >>
>> >>>> >> Thanks for any pointers...
>> >>>> >>
>> >>>> >> Regards
>> >>>> >> Krish
>> >>>> >>
>> >>>> >> **************** CAUTION - Disclaimer *****************
>> >>>> >> This e-mail contains PRIVILEGED AND CONFIDENTIAL INFORMATION
>> >>>> intended
>> >>>> >> solely for the use of the addressee(s). If you are not
the 
>> intended
>> >>>> >> recipient, please notify the sender by e-mail and delete
the
>> >>>> original
>> >>>> >> message. Further, you are not to copy, disclose, or distribute

>> this
>> >>>> >> e-mail or its contents to any other person and any such

>> actions are
>> >>>> >> unlawful. This e-mail may contain viruses. Infosys has
taken 
>> every
>> >>>> >> reasonable precaution to minimize this risk, but is not
liable
>> >>>> for any
>> >>>> >> damage you may sustain as a result of any virus in this

>> e-mail. You
>> >>>> >> should carry out your own virus checks before opening the

>> e-mail or
>> >>>> >> attachment. Infosys reserves the right to monitor and review
the
>> >>>> >> content of all messages sent to or from this e-mail address.
>> >>>> Messages
>> >>>> >> sent to or from this e-mail address may be stored on the
Infosys
>> >>>> >> e-mail system.
>> >>>> >> ***INFOSYS******** End of Disclaimer ********INFOSYS***
>> >>>> >>
>> >>>> >
>> >>>> >
>> >>>>
>> >>>
>> >>>
>> >>
>> >>
>> >
>> >
>>
> 
> 

Mime
View raw message