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

        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
        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 -

        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.
        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.

          People

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

            Dates

            • Created:
              Updated:
              Resolved: