Here's a typical exception:

00:01:17,644 ERROR CLPWebRequestCycle:34 - Cannot find the rendered
page in session
[pagemap=null,componentPath=7:results:resultsInfo:criteriaContainer:inputPanel:categorySearchForm:submitLink:searchButton,versionNumber=0]
org.apache.wicket.protocol.http.PageExpiredException: Cannot find the
rendered page in session
[pagemap=null,componentPath=7:results:resultsInfo:criteriaContainer:inputPanel:categorySearchForm:submitLink:searchButton,versionNumber=0]
        at 
org.apache.wicket.protocol.http.WebRequestCycleProcessor.resolve(WebRequestCycleProcessor.java:197)
        at org.apache.wicket.RequestCycle.step(RequestCycle.java:1310)
        at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1428)
        at org.apache.wicket.RequestCycle.request(RequestCycle.java:545)
        at 
org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:479)
        at 
org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:312)



On Fri, Apr 9, 2010 at 3:35 PM, Nikita Tovstoles <[email protected]
> wrote:

> We're seeing a PageExpiredExceptions in roughly 2-6% of our production web
> sessions and cannot determine the root cause:
>
>    1. it's not a session affinity problem (we went as far as running a
>    single node - the exceptions persisted)
>    2. it's not a session expiration case (our avg production session is
>    far less than 40 min session timeout value; given the number of sessions
>    wherein PEEs occur it's highly unlikely that those sessions are the 40+ min
>    outliers
>    3. it's not a serialization problem - everything on pages is
>    serializable. And if it were a serialization issue, should we not be
>    seeing WicketSerializeableException stack traces in the logs?
>    4. Settings.automaticMultiWindowSupport remains at default (=true)
>    5. we cannot come up with a consistent repro though somehow managed to
>    cause PEE to happen a couple of times by seemingly randomly clicking on UI
>    controls and playing with back/forward browser buttons
>
>
> Any tips on how to go about determining the root cause? Looking at the
> exception below (typical - always thrown from
> WebRequestCycleProcessor.resolve()), what specifically would you look for?
> Which loggers would it be useful to turn to debug?
>
> Also, is there any way to determine Page class type when catching a
> PageExpiredException - so at least we could implement "on PEE throw new
> RestartResponseException(pageType, defaultParams)" - instead of showing the
> default error page.
>
> thanks,
>
> -nikita
>

Reply via email to