Network Deployment (Distributed operating systems), v8.0 > Reference > Troubleshoot tips


HTTP session problems

  1. Overview
  2. HTTP sessions are not getting created, or are lost between requests
  3. HTTP Sessions are not persistent
  4. Session is shared across multiple browsers on same client machine
  5. Session is not getting invalidated immediately after specified session timeout interval
  6. Unwanted sessions are being created by JSP
  7. Session data intended for one client is seen by another client
  8. Users are not logged out after the HTTP session timer expires
  9. Runtime exceptions when updating applications where session persistence is enabled


Overview

To view session manager settings...

If your problem is not described here, or none of these steps fixes the problem:



HTTP sessions are not getting created, or are lost between requests

By default, the session manager uses cookies to store the session ID on the client between requests. Unless you intend to avoid cookie-based session tracking, ensure that cookies are flowing between WAS and the browser:



HTTP Sessions are not persistent

If your HTTP sessions are not persistent, that is session data is lost when the application server restarts or is not shared across the cluster:



Session is shared across multiple browsers on same client machine

This behavior is browser-dependent. It varies between browser vendors, and also may change according to whether a browser is launched as a new process or as a subprocess of an existing browser session (for example by hitting Ctl-N on Windows).

The Cookie maximum age property of the session manager also affects this behavior, if cookies are used as the session-tracking mechanism. If the maximum age is set to some positive value, all browser instances share the cookies, which are persisted to file on the client for the specified maximum age time.


Session is not getting invalidated immediately after specified session timeout interval

The SessionManager invalidation process thread runs every x seconds to invalidate any invalid sessions, where x is determined based on the session timeout interval specified in the session manager properties. For the default value of 30 minutes , x is around 300 seconds. In this case, it could take up to 5 minutes (300 seconds) beyond the timeout threshold of 30 minutes for a particular session to become invalidated.


Unwanted sessions are being created by JSP

As required by the JSP specification, JSP pages by default perform a request.getSession(true), so that a session is created if none exists for the client.

To prevent JSP pages from creating a new session, set the session scope to false in the .jsp file using the page directive as follows:

<% @page session="false" %> 


Session data intended for one client is seen by another client

In rare situations, usually due to application errors, session data intended for one client might be seen by another client. This situation is referred to as session data crossover. When the DebugSessionCrossover custom property is set to true, code is enabled to detect and log instances of session data crossover. Checks are performed to verify that only the session associated with the request is accessed or referenced. Messages are logged if any discrepancies are detected. These messages provide a starting point for debugging this problem. This additional checking is only performed when running on the WebSphere-managed dispatch thread, not on any user-created threads.

For additional information on how to set this property, see article, Web container custom properties.


Users are not logged out after the HTTP session timer expires

If users of WAS log onto an application and sit idle longer than the specified HTTP session timeout value, the user information is not invalidated and user credentials stay active until LTPA token timeout occurs.

After you apply PK25740, complete the following steps to log out users from the application after the HTTP session has expired.

  1. In the admin console, click...

      Security | Global security | Custom properties | New

  2. In the Name field, enter...

      com.ibm.ws.security.web.logoutOnHTTPSessionExpire

  3. In the Values field, enter true.

  4. Click Apply and Save to save the changes to the configuration.
  5. Resynchronize and restart the server.

Unexpected re-authentications: When you set the com.ibm.ws.security.web.logoutOnHTTPSessionExpire custom property to true, unexpected re-authentications might occur when you are working with multiple web applications. By default, each web application has its own unique HTTP session, but the web browser has one session cookie.

To address this issue, you can change the HTTP session configuration by giving each application a unique session cookie name or path setting. As a result, each application gets its own session cookie. Alternatively, you can configure multiple web applications with the same enterprise application to share the same HTTP session. For more information, see the Assembling so that session data can be shared topic.


Run time exceptions when updating applications where session persistence is enabled

Users who have session persistence enabled and execute application updates during run time might experience unexpected exceptions after the application is restarted.

If updates have been made that change the attributes saved, then all the sessions created by the associated application might have to be invalidated prior to the application update if the application can not handle these changes. In this situation, all session objects must be removed from the back-end as well. See the HTTP session invalidation information to learn more about how to remove these sessions properly.

IBM Support has documents and tools that can save you time gathering information needed to resolve problems as described in Troubleshoot help from IBM. Before opening a problem report, see the Support page:

Best practices for using HTTP sessions
Sessions
HTTP session invalidation
Task overview: Managing HTTP sessions
HTTP session manager troubleshooting tips
Assembling so that session data can be shared

+

Search Tips   |   Advanced Search