Uploaded image for project: 'Wicket'
  1. Wicket
  2. WICKET-3931

Component markup caching inconsistencies

Attach filesAttach ScreenshotVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 1.5-RC5.1
    • 1.5-RC6
    • wicket
    • None

    Description

      In WICKET-3891 we found that Component#markup field is not being reset between requests. The problem is that this field is transient and it is null-ified only when the page is read from the second level page cache (see https://cwiki.apache.org/confluence/x/qIaoAQ). If the page instance is read from first level cache (http session) then its non-serialized version is used and the markup field value is still non-null.

      In WICKET-3891 this looked like a minor issue with the markup caching in development mode but actually this problem is valid even in production mode.
      See the attached application. When the panel's variation is changed every MarkupContainer inside still uses its old markup.

      Attachments

        1. variation.tgz
          21 kB
          Martin Tzvetanov Grigorov
        2. WICKET-3931.patch
          3 kB
          Martin Tzvetanov Grigorov
        3. WICKET-3931.patch
          4 kB
          Martin Tzvetanov Grigorov

        Issue Links

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            mgrigorov Martin Tzvetanov Grigorov
            mgrigorov Martin Tzvetanov Grigorov
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Issue deployment