ICEfaces
  1. ICEfaces
  2. ICE-2210

PersistentFacesState.getInstance() stale

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 1.7DR#1
    • Fix Version/s: 1.7Beta1, 1.7
    • Component/s: Sample Apps
    • Labels:
      None
    • Environment:
      ICEfaces, WebMC

      Description

      Users of WebMC sometimes do not see slide changes or chat messages pushed to their browser.

        Activity

        Ken Fyten made changes -
        Status Resolved [ 5 ] Closed [ 6 ]
        Ken Fyten made changes -
        Fix Version/s 1.7 [ 10080 ]
        Ken Fyten made changes -
        Fix Version/s 1.7Beta1 [ 10121 ]
        Fix Version/s 1.7 [ 10080 ]
        Ted Goddard made changes -
        Summary WebMC slide update unreliable PersistentFacesState.getInstance() stale
        Ted Goddard made changes -
        Field Original Value New Value
        Status Open [ 1 ] Resolved [ 5 ]
        Fix Version/s 1.7 [ 10080 ]
        Resolution Fixed [ 1 ]
        Hide
        Ted Goddard added a comment -

        Did not complete in time for 1.7DR3 cutoff.

        Show
        Ted Goddard added a comment - Did not complete in time for 1.7DR3 cutoff.
        Hide
        Ted Goddard added a comment -

        Note that the fix for this bug is central to the Ajax Push implementation. In some cases, the ThreadLocal variable for PersistentFacesState had a spurious value (likely from the previous thread invocation). When a server-initiated render was requested with one of these threads, PersistentFacesState.getCurrentInstance() in application code could return the PersistentFacesState associated with the thread, not the PersistentFacesState invoking the render. This would result in later renders being directed to a wrong or nonexistent browser window. The fix is to call PersistentFacesState.setCurrentInstance() prior to execute() and render() in PersistentFacesState.

        Note that the presence of spurious values may indicate that we are not calling release() when we should be. Missing release() calls result in stale PersistentFacesState being left as ThreadLocal values.

        Show
        Ted Goddard added a comment - Note that the fix for this bug is central to the Ajax Push implementation. In some cases, the ThreadLocal variable for PersistentFacesState had a spurious value (likely from the previous thread invocation). When a server-initiated render was requested with one of these threads, PersistentFacesState.getCurrentInstance() in application code could return the PersistentFacesState associated with the thread, not the PersistentFacesState invoking the render. This would result in later renders being directed to a wrong or nonexistent browser window. The fix is to call PersistentFacesState.setCurrentInstance() prior to execute() and render() in PersistentFacesState. Note that the presence of spurious values may indicate that we are not calling release() when we should be. Missing release() calls result in stale PersistentFacesState being left as ThreadLocal values.
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #15485 Fri Dec 21 13:14:34 MST 2007 ted.goddard PersistentFacesState setCurrentInstance() during Ajax Push so that application bean getInstance() returns the current instance (ICE-2210)
        Files Changed
        Commit graph MODIFY /icefaces/trunk/icefaces/core/src/com/icesoft/faces/webapp/xmlhttp/PersistentFacesState.java
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #15079 Thu Nov 01 17:19:47 MDT 2007 ted.goddard added PowerPoint import capability for Mac servers (ICE-2210)
        Files Changed
        Commit graph MODIFY /projects/webmc/trunk/webmc/src/com/icesoft/faces/presenter/document/factory/DocumentFactory.java
        Commit graph ADD /projects/webmc/trunk/webmc/src/com/icesoft/faces/presenter/document/PptPresentationDocument.java
        Hide
        Ted Goddard added a comment -

        after reloading the application on the iPod:
        can't parse stream for /index.jsp
        at D2DViewHandler.renderResponse line 525

        Show
        Ted Goddard added a comment - after reloading the application on the iPod: can't parse stream for /index.jsp at D2DViewHandler.renderResponse line 525
        Hide
        Ted Goddard added a comment -

        A round of testing was requested from the development team. Responses as follows:

        We need to fix the layout shift that occurs to the participants and chat area when the slide refreshes (FF2.0).

        preload the next x slides so they wouldn't load in front of the viewers

        slides did not update on iPod

        exception on iPod:

        failed to append element[tag: html, attributes: ] into #document
        at DOMResponseWriter.appendToCursor line 470

        Show
        Ted Goddard added a comment - A round of testing was requested from the development team. Responses as follows: We need to fix the layout shift that occurs to the participants and chat area when the slide refreshes (FF2.0). preload the next x slides so they wouldn't load in front of the viewers slides did not update on iPod exception on iPod: failed to append element [tag: html, attributes: ] into #document at DOMResponseWriter.appendToCursor line 470
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #14945 Fri Oct 12 10:06:23 MDT 2007 ted.goddard added iPhone layout hinting (ICE-2210)
        Files Changed
        Commit graph MODIFY /projects/webmc/trunk/webmc/web/index.jsp
        Ted Goddard created issue -
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #14941 Thu Oct 11 16:39:33 MDT 2007 ted.goddard removed spaces from bundled presentations and default password is now icefaces (ICE-2210)
        Files Changed
        Commit graph ADD /projects/webmc/trunk/webmc/web/basepres/Webbuilder2.zip
        Commit graph DEL /projects/webmc/trunk/webmc/web/basepres/Getting Started.zip
        Commit graph ADD /projects/webmc/trunk/webmc/web/basepres/PalauShow.zip
        Commit graph DEL /projects/webmc/trunk/webmc/web/basepres/Palau Show.zip
        Commit graph MODIFY /projects/webmc/trunk/webmc/src/com/icesoft/faces/presenter/presentation/AutoPresentation.java
        Commit graph DEL /projects/webmc/trunk/webmc/web/basepres/Webbuilder 2.zip
        Commit graph ADD /projects/webmc/trunk/webmc/web/basepres/GettingStarted.zip
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #14940 Thu Oct 11 16:32:19 MDT 2007 ted.goddard optional classes capability to build webmc without javamail (ICE-2210)
        Files Changed
        Commit graph MODIFY /projects/webmc/trunk/webmc/build.xml
        Commit graph MODIFY /projects/webmc/trunk/webmc/src/com/icesoft/faces/presenter/participant/Participant.java
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #14939 Thu Oct 11 16:32:06 MDT 2007 ted.goddard optional classes capability to build webmc without javamail (ICE-2210)
        Files Changed
        Commit graph MODIFY /icefaces/trunk/icefaces/samples/etc/build-common.xml

          People

          • Assignee:
            Unassigned
            Reporter:
            Ted Goddard
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: