Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Critical Critical
    • Resolution: Fixed
    • Affects Version/s: 1.5
    • Fix Version/s: 1.6.2, 1.7DR#3, 1.7
    • Component/s: Framework
    • Labels:
      None
    • Environment:
      Tomcat 5.5, app. servers that reuse Request object instances across multiple HTTP Requests.

      Description

      ICEfaces keeps a reference to the initial (page) request in the ExternalContext to simulate a long lived request. Once the page is served though, the initial request becomes stale. Because Tomcat is reusing the requests, the stale request is recycled and assigned to another thread of execution. When this happens the request from the first thread of execution will crossover to the second one. The result is that both threads of execution are able to modify the state of the same request instance.

        Activity

        Repository Revision Date User Message
        ICEsoft Public SVN Repository #15140 Thu Nov 08 18:20:24 MST 2007 mircea.toma Use the active HttpServletRequest when modifying the attributes.
        ICE-2352
        Files Changed
        Commit graph MODIFY /icefaces/trunk/icefaces/core/src/com/icesoft/faces/webapp/http/servlet/ServletExternalContext.java
        Commit graph MODIFY /icefaces/trunk/icefaces/core/src/com/icesoft/faces/env/ServletEnvironmentRequest.java
        Mircea Toma created issue -
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #15141 Fri Nov 09 10:54:34 MST 2007 mircea.toma Use the active HttpServletRequest when modifying the attributes. ICE-2352
        Files Changed
        Commit graph MODIFY /icefaces/branches/icefaces-1.6/icefaces/core/src/com/icesoft/faces/env/ServletEnvironmentRequest.java
        Commit graph MODIFY /icefaces/branches/icefaces-1.6/icefaces/core/src/com/icesoft/faces/webapp/http/servlet/ServletExternalContext.java
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #15143 Fri Nov 09 14:34:28 MST 2007 mircea.toma Introduce RequestAttributes abstraction so that request attributes can be modified only during request/response process.
        ICE-2352
        Files Changed
        Commit graph MODIFY /icefaces/trunk/icefaces/core/src/com/icesoft/faces/context/BridgeExternalContext.java
        Commit graph MODIFY /icefaces/trunk/icefaces/core/src/com/icesoft/faces/webapp/http/servlet/ServletExternalContext.java
        Commit graph MODIFY /icefaces/trunk/icefaces/core/src/com/icesoft/faces/env/ServletEnvironmentRequest.java
        Commit graph MODIFY /icefaces/trunk/icefaces/core/src/com/icesoft/faces/context/View.java
        Commit graph ADD /icefaces/trunk/icefaces/core/src/com/icesoft/faces/webapp/http/servlet/RequestAttributes.java
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #15144 Fri Nov 09 14:47:54 MST 2007 mircea.toma Use JDK 1.4 API.
        ICE-2352
        Files Changed
        Commit graph MODIFY /icefaces/trunk/icefaces/core/src/com/icesoft/faces/webapp/http/servlet/ServletExternalContext.java
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #15145 Fri Nov 09 14:55:57 MST 2007 mircea.toma Introduce RequestAttributes abstraction. Request attributes can be modified only during request/response process.
        ICE-2352
        Files Changed
        Commit graph MODIFY /icefaces/branches/icefaces-1.6/icefaces/core/src/com/icesoft/faces/env/ServletEnvironmentRequest.java
        Commit graph ADD /icefaces/branches/icefaces-1.6/icefaces/core/src/com/icesoft/faces/webapp/http/servlet/RequestAttributes.java
        Commit graph MODIFY /icefaces/branches/icefaces-1.6/icefaces/core/src/com/icesoft/faces/context/BridgeExternalContext.java
        Commit graph MODIFY /icefaces/branches/icefaces-1.6/icefaces/core/src/com/icesoft/faces/context/View.java
        Commit graph MODIFY /icefaces/branches/icefaces-1.6/icefaces/core/src/com/icesoft/faces/webapp/http/servlet/ServletExternalContext.java
        Ken Fyten made changes -
        Field Original Value New Value
        Fix Version/s 1.6.2 [ 10111 ]
        Fix Version/s 1.7DR#3 [ 10112 ]
        Assignee Mircea Toma [ mircea.toma ]
        Hide
        Mircea Toma added a comment -

        Active request attributes can be modified only during request/response process.

        Show
        Mircea Toma added a comment - Active request attributes can be modified only during request/response process.
        Mircea Toma made changes -
        Status Open [ 1 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Ken Fyten made changes -
        Security Private [ 10001 ]
        Hide
        Ken Fyten added a comment -

        ICEfaces no longer keeps a direct reference to the Request object, thus, this issue is resolved.

        Show
        Ken Fyten added a comment - ICEfaces no longer keeps a direct reference to the Request object, thus, this issue is resolved.
        Mircea Toma made changes -
        Affects Version/s 1.5 [ 10027 ]
        Affects Version/s 1.6.1 [ 10070 ]
        Affects Version/s 1.7DR#2 [ 10110 ]
        Ken Fyten made changes -
        Priority Major [ 3 ] Critical [ 2 ]
        Ken Fyten made changes -
        Environment Tomcat 5.5 Tomcat 5.5, app. servers that reuse Request object instances across multiple HTTP Requests.
        Ken Fyten made changes -
        Fix Version/s 1.7 [ 10080 ]
        Ken Fyten made changes -
        Status Resolved [ 5 ] Closed [ 6 ]
        Assignee Mircea Toma [ mircea.toma ]

          People

          • Assignee:
            Unassigned
            Reporter:
            Mircea Toma
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: