Re: [Resin-interest] Question on db based distributed session

2007-01-08 Thread Josh Rehman
Corrections below:

On 1/8/07, Josh Rehman [EMAIL PROTECTED] wrote:
...
 While there are [[hacky]] ways to notify the offline server of state changes
...
 How can you have your cake and eat it too? You need some way for nodes
 to see if they are participating in a distributed session [[on startup]] and 
 if they
 are and if there is an active node, ignore any persisted session state
 and get state from the distributed session. If there is no active
 node, then load session from disk.
...

Peace,
Josh

___
resin-interest mailing list
resin-interest@caucho.com
http://maillist.caucho.com/mailman/listinfo/resin-interest


Re: [Resin-interest] Question on db based distributed session

2007-01-08 Thread Eric Kreiser
what are your specific session settings?  does resin know about your 
load balanced cluster? or are you managing the load balancer outside of 
resin and using resin to tie them together thru the db persistence?  are 
you using 'always-load-session?




Jacky wrote:

Dear all,

I have implemented resin's distributed session along with apache. 
Apache is the entry point, which will use mod_caucho plugin to 
dispatch requests to resin.

Now it is working fine and i'm happy about it.

After a few test run on this, i found out something which i'm not sure 
if its my implementation problem or bug.

I have server A and server B running resin on default srun port 6802.

Unhappy case 1:
1. I start server A and login to my application
2. I stop Server A and start Server B
3. I continue to work in the browser, my session stays intact and i 
can proceed normally

4. I stop Server B and start Server A
5. I continue to work in the browser, my session stays intact and i 
can proceed normally
6. I logout from my application and logout successfully cleared my 
session variables (notice this from app log)
7. I try to type a password protected page in the browser and i am 
forced to login

8. I stop Server A and start Server B
9. I try to type a password protected page in the browser and i *CAN 
ACCESS* the protected page


Unhappy case 2:
1. I start server A and login to my application
2. I stop Server A and start Server B
3. I continue to work in the browser, my session stays intact and i 
can proceed normally
4. I logout from my application and logout successfully cleared my 
session variables (notice this from app log)

5. I stop Server B and start Server A
6. I try to type a password protected page in the browser and i *CAN 
ACCESS* the protected page


So to sum it all up, if i login to Server A and try to log out in 
Server B, the session is still available to server A and not Server B.

Does anyone here encounter this before?

Thanks.
--
Warm regards,
Jacky Wong

  


--
This message has been scanned for viruses and
dangerous content by *MailScanner* http://www.mailscanner.info/, and is
believed to be clean.


___
resin-interest mailing list
resin-interest@caucho.com
http://maillist.caucho.com/mailman/listinfo/resin-interest
  
___
resin-interest mailing list
resin-interest@caucho.com
http://maillist.caucho.com/mailman/listinfo/resin-interest


Re: [Resin-interest] Question on db based distributed session

2007-01-08 Thread Josh Rehman
Hmm. I was reading:

  http://www.caucho.com/resin-3.1/doc/tcp-sessions.xtp

Particularly the section under recovery which states:

When Host C restarts, possibly with an upgraded version of Resin, it
needs to use the most up-to-date version of the session; its
file-saved session will probably be obsolete. When a new session
arrives, Host C loads the saved session from both the file and from
Host D. It will use the newest session as the current value. Once it's
loaded the new session, it will remain consistent as if the server
had never stopped.

So Resin actually implements have your cake and eat it too but it's
not working in your case. Perhaps there is some error when the
comparison is made - perhaps the clocks on the two systems are not in
sync. Or something. :)

Peace,
Josh

On 1/8/07, Josh Rehman [EMAIL PROTECTED] wrote:
 Corrections below:

 On 1/8/07, Josh Rehman [EMAIL PROTECTED] wrote:
 ...
  While there are [[hacky]] ways to notify the offline server of state 
  changes
 ...
  How can you have your cake and eat it too? You need some way for nodes
  to see if they are participating in a distributed session [[on startup]] 
  and if they
  are and if there is an active node, ignore any persisted session state
  and get state from the distributed session. If there is no active
  node, then load session from disk.
 ...

 Peace,
 Josh


___
resin-interest mailing list
resin-interest@caucho.com
http://maillist.caucho.com/mailman/listinfo/resin-interest


Re: [Resin-interest] Question on db based distributed session

2007-01-08 Thread Sam
 1. I start server A and login to my application

At this point, A will get your request and will become your primary
server, and B will be your secondary server.

 2. I stop Server A and start Server B
 3. I continue to work in the browser, my session stays intact and i 
 can proceed normally

At this point, you are using secondary server B.  Your session updates
are saved on B.

 4. I logout from my application and logout successfully cleared my 
 session variables (notice this from app log)
 5. I stop Server B and start Server A

 6. I try to type a password protected page in the browser and i *CAN 
 ACCESS* the protected page

At this point, A (the primary) will contact B to try to get any updates
to the session that have been made.  Since B is down, A cannot get the
session from it.  So it has to go with the outdated session that it
has, because it cannot get the updated session from B.

-- Sam

___
resin-interest mailing list
resin-interest@caucho.com
http://maillist.caucho.com/mailman/listinfo/resin-interest