Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 324704

Summary: JDBC Session Manager reloading session
Product: [RT] Jetty Reporter: Greg Wilkins <gregw>
Component: serverAssignee: Jan Bartel <janb>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: P3 CC: jetty-inbox
Version: 7.1.5   
Target Milestone: 7.1.x   
Hardware: PC   
OS: Linux   
Whiteboard:

Description Greg Wilkins CLA 2010-09-07 18:57:01 EDT
the JDBC session manager appears to be reloading (or recreating) the session to frequently.

In the LastAccessTimeTest, a session is made on server1 and then accessed on server2 at short intervals.  On each access, the session is seen to have lastNode w0 and this node w1, plus it is expired, so it is reloaded.  This happens twice per request.  The next request still sees the lastNode as w0.

I'm unclear what the exact meaning of expired is?  Is that the same as invalidation or some freshness from DB indicator.
Comment 1 Jan Bartel CLA 2011-07-01 02:02:23 EDT
It wasn't actually expired, just a poor choice of words in the debug log statement.

What was wrong, and now fixed, is that the session's lastNode was not updated into the session in memory, although it was updated correctly in the db, the first time the session hit the 2nd node. The net effect of that is that we were writing out the session unnecessarily to the db, and also re-creating a session object and putting it into the session map every time getSession(id) was called.

Fixed in svn rev 3449.
Jan