Details
-
Type: Bug
-
Status: Closed
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: 1.7
-
Fix Version/s: 1.7.1
-
Component/s: None
-
Labels:None
-
Environment:All
Description
This is in code in SessionDispatcher in the notifySessionShutdown method. There were a couple of things.
First, the code to remove the sessionID from the sessionMonitors hashmap was done after the code performed a hard session.invalidate() on the users session. This is not quite right as session invalidation immediately causes this method to be reentered from the ContextEventRepeater -> SessionDispatcher$Listener path that Mircea added. If the sessionID is not removed from the hashmap until the finally block, this creates the reentrancy loop.
Second, the return statement in the guard code is inside a Log.isDebugEnabled test!
First, the code to remove the sessionID from the sessionMonitors hashmap was done after the code performed a hard session.invalidate() on the users session. This is not quite right as session invalidation immediately causes this method to be reentered from the ContextEventRepeater -> SessionDispatcher$Listener path that Mircea added. If the sessionID is not removed from the hashmap until the finally block, this creates the reentrancy loop.
Second, the return statement in the guard code is inside a Log.isDebugEnabled test!
Activity
- All
- Comments
- History
- Activity
- Remote Attachments
- Subversion