Search code examples
webspherewebsphere-portal

javax.servlet.ServletException: Session Object Internals: id : overflowed-session


I have a Portlet deployed on IBM Websphere Portal server and at busy times when I have a lot of users the Portal server is showing "this portlet is unavailable" when you hit it's Url.

In the logs the following exception is showing...

ServletWrappe E SRVE0068E: Could not invoke the service() method on servlet MyCystomPortlet. Exception thrown : javax.servlet.ServletException: Session Object Internals: id : overflowed-session

After doing some research on google I believe what is happening us that there are too many concurrent sessions. First of all can someone give me confirmation that this understanding is correct?

Secondly I believe there are settings in Websphere you can make around this. Maximum in memory session count. At the moment it's set to 1000. I would like to just increase it to 1500 but I am unsure of how to work out if this is too high and hence will risk the server falling over . Can someone please give me advice on this?

Lastly is reducing session timeouts in my portlet another effective way to try and fix this?

Thanks


Solution

  • Shortening shorter timeout will help if users are abandoning sessions without logging out, but its usually better to shorten it from default 30 min.

    You can increase maximum sessions held in memory but you should also increase maximum heap size then. But make sure your operating system has enough memory resources to handle increased heap, because otherwise if system starts to swap you will have very poor performance.

    So try to change that only for failing application (you can override session settings per application), do not change global settings in web container as they apply to all applications by default.