-
1. Re: Two asterisks in JSESSIONID before jvmRoute
brian.stansberry Jun 25, 2009 12:38 PM (in response to jjfevs)Do you mean you are using EAP 4.3? Or JBoss 4.2.3? If it's EAP 4.3 and you have a support contract, I recommend you open a support ticket on the Customer Service Portal, where there's an SLA.
In your other environment where you aren't seeing the asterisks, the webapp must not have the<distributable/>
element in web.xml.
I suspect the problem you are seeing is an issue in the JvmRouteValve, which is responsible for changing the session cookie when it detects a failover has occurred. There have been a number of changes in this valve, so before I start chasing this please confirm exactly what version you are using. This gets logged in the server.log at the end of startup, e.g.11:36:23,621 INFO [Server] JBoss (MX MicroKernel) [4.3.0.GA_CP03 (build: SVNTag=JBPAPP_4_3_0_GA_CP03 date=200904141024)] Started in 1s:210ms
Also, please confirm, when you wroteof the kind ".jvmRoute.jvmRoute"
you meant, for example.node1.node2.node1.node2
Ideally please paste an example of a healthy JSESSIONID (i.e. before problem happens) and a broken one. -
2. Re: Two asterisks in JSESSIONID before jvmRoute
jjfevs Jun 26, 2009 5:18 AM (in response to jjfevs)Thank you for your answer. I'll explain more in detail the environment. We have two virtual machines. Each of them we have two instances of JBoss running (with different configurations of course). And one of the instances of one machine forms part of a cluster with other instance in the other machine. So, in the end, we have two clusters, lets call them Spain and Colombia (the real ones).
Here is an example of the JSESSIONID of the Colombian cluster, the ones without eh two asterisks (so, this is an indicative of clustered JSESSIONID? ). Also is an example of a JSESSIONIDSSO:
JSESSIONIDSSO=16D95E07D7FD37CC0D09BF5B726F3B20
JSESSIONID=2D52EA0E56A4330C145C44075E4316F9.Node2
We use the same pattern for defining the jvmRoute for both clusters: both have one called Node1 and other called Node2.
In the Spain cluster, when the JSESSIONID works correctly, it is like this:
JSESSIONIDSSO=EEEED918158A844B050B822E8835940F
JSESSIONID=qjL2rvE2+Ly5+oWp7q0bTA**.Node1;
And when it fails, it's like this
JSESSIONID=.Node2 -> the first time you access JBoss
JSESSIONID=.Node2.Node1 -> the second and subsequent times. 2 and 1 value varies depending of the server accessed.
We use Apache mod_proxy_ajp, sorry, I told you wrong. The problem is we use sticky sessions, and the balancer uses the jvmRoute string to distinguish between one instance and the other (we have two virtual host and two balancers, for redirecting to Spain and Colombia respectively ).
I read the TwoClustersInTheSameNetwork document in JBoss online docs, and yesterday we have applied a workaround explained there in another environment (that is a exact replica of this one). This was about setting emptySessionPath=false in the connector in jboss-web.deployer/server.xml file. The problem has not occurred since then... but I'm not very confident myself with this fix.
About the tag, yes I've confirmed that in this cluster is not set, AND this problem does not occur.
About JBoss, We use JBoss 4.3 EAP.
Thank you! -
3. Re: Two asterisks in JSESSIONID before jvmRoute
brian.stansberry Jun 26, 2009 4:33 PM (in response to jjfevs)"jjfevs" wrote:
I read the TwoClustersInTheSameNetwork document in JBoss online docs, and yesterday we have applied a workaround explained there in another environment (that is a exact replica of this one). This was about setting emptySessionPath=false in the connector in jboss-web.deployer/server.xml file. The problem has not occurred since then... but I'm not very confident myself with this fix.
Did you mean the http://www.jboss.org/community/wiki/TwoClustersontheSameNetwork page? I looked there and saw no discussion of emptySessionPath. Please provide the full URL of the page you're referring to.
About JBoss, We use JBoss 4.3 EAP.
Please provide the full version number, e.g. as presented in the server.log statement I quoted in my last post.
There have been a few changes in the JvmRouteValve class since EAP 4.3.0.GA came out. I want to understand exactly what release you are working with. -
4. Re: Two asterisks in JSESSIONID before jvmRoute
jjfevs Jun 29, 2009 7:44 AM (in response to jjfevs)About the version: here is the info:
Version: 4.3.0.GA_EAP (build: SVNTag=JBPAPP_4_3_0_GA date=200801031548)
Version Name: EAP
Built on: January 3 2008
About the webpage I mentioned: I was implying that I have read it and the cluster "seems" to be weel configured. The web where I read about the JSESSIONID is this.https://jira.jboss.org/jira/browse/JBAS-5810
Thank you! If you need any more info, please ask for it. -
5. Re: Two asterisks in JSESSIONID before jvmRoute
jjfevs Jun 29, 2009 7:45 AM (in response to jjfevs)About the version: here is the info:
Version: 4.3.0.GA_EAP (build: SVNTag=JBPAPP_4_3_0_GA date=200801031548) Version Name: EAP Built on: January 3 2008
About the webpage I mentioned: I was implying that I have read it and the cluster "seems" to be weel configured. The web where I read about the JSESSIONID is this.https://jira.jboss.org/jira/browse/JBAS-5810
Thank you! If you need any more info, please ask for it. -
6. Re: Two asterisks in JSESSIONID before jvmRoute
brian.stansberry Jun 29, 2009 9:43 AM (in response to jjfevs)Thanks.
The companion issue for JBAS-5810 that tracks the issue for EAP is https://jira.jboss.org/jira/browse/JBPAPP-1021 . That JIRA shows a fix for EAP 4.3.0.GA_CP03. If you use CP03 or later, do you still see the problem?