ICEfaces
  1. ICEfaces
  2. ICE-1257

IntervalRenderer could detect expired session

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Minor Minor
    • Resolution: Cannot Reproduce
    • Affects Version/s: 1.5.2
    • Fix Version/s: 1.8RC1, 1.8
    • Component/s: Framework
    • Labels:
      None
    • Environment:
      Operating System: All
      Platform: All

      Description

      Found this while testing autoBeansFacelets.

      Right now, if you use an IntervalRenderer, and the session expires, then it will
      throw however many TransientRenderingExceptions before failing, exactly the same
      as if you closed the browser window. But, that's unnecessary, because the class
      that calls render on the PersistentFacesState could just look into the
      PersistentFacesState, and see if the session has expired, and immediately throw
      a fatal rendering exception.

      In a server with tight resources it would probably be preferable to use a
      fail-fast strategy here, especially if the IntervalRenderer uses a large time
      interval, which could unnecessarily hold resources for a very long time.


      ERROR [D2DFaceletViewHandler] Problem in renderResponse: getAttribute: Session
      already invalidated
      java.lang.IllegalStateException: getAttribute: Session already invalidated
              at
      org.apache.catalina.session.StandardSession.getAttribute(StandardSession.java:1011)
              at
      org.apache.catalina.session.StandardSessionFacade.getAttribute(StandardSessionFacade.java:109)
              at
      com.icesoft.faces.webapp.http.servlet.ServletSessionMap.getAttribute(ServletSessionMap.java:19)
              at
      com.icesoft.faces.context.AbstractAttributeMap.containsKey(AbstractAttributeMap.java:94)
              at
      com.icesoft.faces.application.D2DViewHandler.getContextServletTables(D2DViewHandler.java:314)
              at
      com.icesoft.faces.application.D2DViewHandler.getContextServletTable(D2DViewHandler.java:325)
              at
      com.icesoft.faces.application.D2DViewHandler.clearSession(D2DViewHandler.java:602)
              at
      com.icesoft.faces.facelets.D2DFaceletViewHandler.renderResponse(D2DFaceletViewHandler.java:246)
              at
      com.icesoft.faces.application.D2DViewHandler.renderView(D2DViewHandler.java:149)
              at
      com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:107)
              at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:268)
              at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:137)
              at
      com.icesoft.faces.webapp.xmlhttp.PersistentFacesState.render(PersistentFacesState.java:124)
              at com.icesoft.faces.async.render.RunnableRender.run(RunnableRender.java:89)
              at
      edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:643)
              at
      edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:668)
              at java.lang.Thread.run(Thread.java:595)

        Activity

        Mark Collette created issue -
        Icefaces Administrator made changes -
        Field Original Value New Value
        issue.field.bugzillaimportkey 1330 12526
        Ken Fyten made changes -
        Priority Major [ 3 ] Minor [ 4 ]
        Ken Fyten made changes -
        Assignee Ted Goddard [ ted.goddard ]
        Ken Fyten made changes -
        Fix Version/s 1.7.1 [ 10122 ]
        Ken Fyten made changes -
        Assignee Priority P3
        Assignee Deryk Sinotte [ deryk.sinotte ]
        Ken Fyten made changes -
        Fix Version/s 1.7.2 [ 10130 ]
        Fix Version/s 1.7.1 [ 10122 ]
        Hide
        Jack Van Ooststroom added a comment -

        Changed Assignee Priority to P1 and assigned to me

        Show
        Jack Van Ooststroom added a comment - Changed Assignee Priority to P1 and assigned to me
        Jack Van Ooststroom made changes -
        Assignee Priority P3 P2
        Assignee Deryk Sinotte [ deryk.sinotte ] Jack Van Ooststroom [ jack.van.ooststroom ]
        Hide
        Jack Van Ooststroom added a comment -

        Oops, I meant P2

        Show
        Jack Van Ooststroom added a comment - Oops, I meant P2
        Hide
        Jack Van Ooststroom added a comment -

        Changed Assignee Priority to P1

        Show
        Jack Van Ooststroom added a comment - Changed Assignee Priority to P1
        Jack Van Ooststroom made changes -
        Assignee Priority P2 P1
        Ken Fyten made changes -
        Assignee Priority P1 P3
        Ken Fyten made changes -
        Fix Version/s 1.8DR#2 [ 10142 ]
        Fix Version/s 1.7.2 [ 10130 ]
        Ken Fyten made changes -
        Assignee Jack Van Ooststroom [ jack.van.ooststroom ] Deryk Sinotte [ deryk.sinotte ]
        Ken Fyten made changes -
        Fix Version/s 1.8DR#3 [ 10143 ]
        Fix Version/s 1.8DR#2 [ 10142 ]
        Ken Fyten made changes -
        Assignee Priority P3
        Deryk Sinotte made changes -
        Assignee Deryk Sinotte [ deryk.sinotte ] Jack Van Ooststroom [ jack.van.ooststroom ]
        Deryk Sinotte made changes -
        Assignee Priority P3
        Deryk Sinotte made changes -
        Salesforce Case []
        Assignee Priority P3 P1
        Jack Van Ooststroom made changes -
        Status Open [ 1 ] In Progress [ 3 ]
        Hide
        Jack Van Ooststroom added a comment -

        This case seems to have been around for a long time. I tried to reproduce it using Auction Monitor as it uses the IntervalRenderer. I tried numerous scenarios and added a bunch of logging around throwing the TransientRenderingExceptions and FatalRenderingExceptions. This issue doesn't seem to happen anymore. Closing this one and marking it as "Cannot Reproduce".

        Show
        Jack Van Ooststroom added a comment - This case seems to have been around for a long time. I tried to reproduce it using Auction Monitor as it uses the IntervalRenderer. I tried numerous scenarios and added a bunch of logging around throwing the TransientRenderingExceptions and FatalRenderingExceptions. This issue doesn't seem to happen anymore. Closing this one and marking it as "Cannot Reproduce".
        Jack Van Ooststroom made changes -
        Status In Progress [ 3 ] Resolved [ 5 ]
        Resolution Cannot Reproduce [ 5 ]
        Ken Fyten made changes -
        Fix Version/s 1.8 [ 10161 ]
        Assignee Priority P1
        Ken Fyten made changes -
        Status Resolved [ 5 ] Closed [ 6 ]
        Assignee Jack van Ooststroom [ jack.van.ooststroom ]

          People

          • Assignee:
            Unassigned
            Reporter:
            Mark Collette
          • Votes:
            2 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: