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