Tapestry 5
  1. Tapestry 5
  2. TAP5-1964

In production mode, placeholder timestamp needs to be limited to one-second accuracy

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 5.3.3, 5.4
    • Fix Version/s: 5.3.4, 5.4
    • Component/s: tapestry-core
    • Labels:
      None

      Description

      In production mode, Tapestry turns off the logic that checks for changes to files (all types of files, including resources made available as assets). It uses a single placeholder value to identify the date time modified of all resources.

      When a request for a resource is sent from the client, the time stamp in the request is compared to the placeholder timestamp. Unfortunately, in most cases, they are not equal as expected, because the date on the client is one one-second accurate, not millisecond accurate.

      The end result is many more asset requests are processed fully, rather than sending a 304 result code.

      The fix is to limit the placeholder time stamp value to one second accuracy, so that the server and the client can agree that the client has the up-to date version of the asset.

        Activity

        Hide
        Howard M. Lewis Ship added a comment -

        Thanks for Robert Lentz for all the detective work!

        Show
        Howard M. Lewis Ship added a comment - Thanks for Robert Lentz for all the detective work!
        Hide
        Hudson added a comment -

        Integrated in tapestry-trunk-freestyle #977 (See https://builds.apache.org/job/tapestry-trunk-freestyle/977/)
        TAP5-1964: In production mode, placeholder timestamp needs to be limited to one-second accuracy (Revision 3b550cd189dec6f663dd753c724d64a8978d128c)

        Result = FAILURE
        hlship :
        Files :

        • tapestry-core/src/main/java/org/apache/tapestry5/internal/services/assets/ResourceChangeTrackerImpl.java
        Show
        Hudson added a comment - Integrated in tapestry-trunk-freestyle #977 (See https://builds.apache.org/job/tapestry-trunk-freestyle/977/ ) TAP5-1964 : In production mode, placeholder timestamp needs to be limited to one-second accuracy (Revision 3b550cd189dec6f663dd753c724d64a8978d128c) Result = FAILURE hlship : Files : tapestry-core/src/main/java/org/apache/tapestry5/internal/services/assets/ResourceChangeTrackerImpl.java

          People

          • Assignee:
            Howard M. Lewis Ship
            Reporter:
            Howard M. Lewis Ship
          • Votes:
            3 Vote for this issue
            Watchers:
            6 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development