ICEfaces
  1. ICEfaces
  2. ICE-7242

Updates fetched during push now contain redundant ViewState update

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 2.0.2
    • Fix Version/s: 2.1-Beta2, 3.0
    • Component/s: Framework
    • Labels:
      None
    • Environment:
      ICEfaces + ICEpush
    • Assignee Priority:
      P2

      Description

      Using auction 2.0 in a test I observed the following:

      Previously, we would POST a blocking request to listen for updates

      POST http://localhost:8080/auction/javax.faces.resource/listen.icepush.jsf

      and get a response once a second:

      <notified-pushids>apushId</notified-pushids>


      Then fetch the update:
      POST http://localhost:8080/auction/auction.jsf

      and the update would be something like:

      <?xml version='1.0' encoding='UTF-8'?>
      <partial-response><changes><update id="rpt1:0:otime"><![CDATA[<span id="rpt1:0:otime">7d 1:54:53</span>]]></update><update id="rpt1:1:otime"><![CDATA[<span id="rpt1:1:otime">3d 4:54:44</span>]]></update><update id="rpt1:2:otime"><![CDATA[<span id="rpt1:2:otime">2d 7:55:34</span>]]></update><update id="rpt1:3:otime"><![CDATA[<span id="rpt1:3:otime">7:54:49</span>]]></update><update id="javax.faces.ViewState"><![CDATA[4506655347714165083:6047748643060694507]]></update></changes></partial-response>


      This would occur once a second. Now, however, we're getting two updates per second. The first is similar to the above as the clock polls, but the second update seems to contain a change only to the ViewState key.


      POST http://localhost:8080/auction/javax.faces.resource/listen.icepush.jsf


      ?xml version='1.0' encoding='UTF-8'?>
      <partial-response><changes><update id="javax.faces.ViewState"><![CDATA[4506655347714165083:6047748643060694507]]></update></changes></partial-response>



      Comparing the javax.faces.ViewState field from both updates, they are seen to be equal, so the second update is entirely redundant.
      <![CDATA[4506655347714165083:6047748643060694507]]>

      <![CDATA[4506655347714165083:6047748643060694507]]>


      This means we're doing 2 pairs of requests every second.

        Issue Links

          Activity

          Repository Revision Date User Message
          ICEsoft Public SVN Repository #25900 Tue Oct 11 13:29:58 MDT 2011 mircea.toma ICE-7242 Update ICEpush library.
          Files Changed
          Commit graph MODIFY /icefaces2/trunk/icefaces/lib/icepush.jar
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #25899 Tue Oct 11 13:21:37 MDT 2011 mircea.toma ICE-7242 Moved the notification of inbound observers (with the ids used by the browser) to the place where the server responses back with the outbound notifications. This way the pending notifications are confirmed to be satisfied before a new blocking request has time to arrive to the server.
          Files Changed
          Commit graph MODIFY /icepush/trunk/icepush/core/src/main/java/org/icepush/LocalPushGroupManager.java
          Commit graph MODIFY /icepush/trunk/icepush/core/src/main/java/org/icepush/BlockingConnectionServer.java

            People

            • Assignee:
              Mircea Toma
              Reporter:
              Greg Dick
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: