Uploaded image for project: 'Wicket'
  1. Wicket
  2. WICKET-4189

RequestHandlerStack: Unnecessary Stacktrace in log on PageExpiredException

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 1.5.2
    • 1.5.3
    • wicket
    • None

    Description

      We use session.replaceSession() when a user logs out which appears to clear all previous pages (which is good), and when the user tries to go back he gets a PageExpiredException (which is also good).
      Only that this exception is logged in error level from the RequestHandlerStack is very ugly and triggers our customer's log monitoring tool. PageExpiredExceptions should never bubble up into the log unless they cannot be handled correctly.

      This is the stacktrace:
      ERROR request.RequestHandlerStack - Error detaching RequestHandler
      org.apache.wicket.protocol.http.PageExpiredException: Page with id '2' has expired.
      at org.apache.wicket.request.handler.PageProvider.getPageInstance(PageProvider.java:169)
      at org.apache.wicket.request.handler.PageProvider.getPageClass(PageProvider.java:227)
      at org.apache.wicket.request.handler.logger.PageLogData.<init>(PageLogData.java:49)
      at org.apache.wicket.request.handler.RenderPageRequestHandler.detach(RenderPageRequestHandler.java:147)
      at org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.detach(RequestCycle.java:761)
      at org.apache.wicket.request.RequestHandlerStack.detach(RequestHandlerStack.java:180)
      at org.apache.wicket.request.cycle.RequestCycle.onDetach(RequestCycle.java:565)
      at org.apache.wicket.request.cycle.RequestCycle.detach(RequestCycle.java:508)
      at org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:284)
      at org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:162)
      at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:218)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
      at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
      at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
      at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
      at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:568)
      at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:568)
      at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
      at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
      at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
      at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
      at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
      at java.lang.Thread.run(Thread.java:722)

      Attachments

        1. wicket-4189.zip
          4.45 MB
          Martin Tzvetanov Grigorov
        2. 0001-WICKET-4189.patch
          5 kB
          Emond Papegaaij
        3. 0001-WICKET-4189.patch
          5 kB
          Emond Papegaaij

        Activity

          People

            mgrigorov Martin Tzvetanov Grigorov
            tapter Matthias Keller
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: