Mantis - Resin
Viewing Issue Advanced Details
1058 feature always 04-18-06 09:39 09-11-07 16:33
sam  
ferg  
normal  
closed 3.0.19  
fixed  
none    
none 3.1.3  
0001058: backup-takes-ownership
<session-config>>
  <backup-takes-ownership>true</backup-takes-ownership>

If true, the backup server reassigns the JSESSIONID when it
receives a request.

This may have an impact on user code that uses the value of JSESSIONID for it's own purposes.

The term "backup" here conflicts with the usage of backup="true" on an srun, there may be a better name for the configuration.
server/1h2*

Notes
(0001382)
ferg   
07-12-06 09:52   
This should be a timeout value.

The purpose of the backup-takes-ownership is for a careful shutdown of service during upgrade. It might be used in combination with enableSessionOnly. The idea is to shut down the server deliberately for 15 minutes or 30 minutes, allow the backups to reissue the session (based on old version). So when the server comes back up (e.g. with incompatible session serialization), it will only get new sessions.
(0001456)
slonopotamus   
08-12-06 01:32   
I think user code should not use JSESSIONID.
(0001459)
sam   
08-16-06 13:43   
Examined closely, backup-takes-ownership does not add any useful functionality.

Here is a scenario that shows why the backup-takes-ownership option does not solve the old sessions/new sessions issue.

Servers a, b, c.

Session "X(bc)" has server b as primary and server c as backup.
Server a goes down, gets new version of app, comes back up.

Server b goes down, gets new version of app.

[1st possible screwup: no request comes for session X while server b is down, so the ownership does not change.]

Session X(bc) gets reassigned as Session X(ca) because Server b is down.
Server b comes back up.

Server c goes down.

2nd possible screw-up, session X(bc) gets routed to a (it's backup). But
a has the new version of the app so the session fails.

backup-takes-ownership does not solve the issue.