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
