Wicket
  1. Wicket
  2. WICKET-1471

FeedbackPanel does not work properly in clustered environment

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Won't Fix
    • Affects Version/s: 1.3.2
    • Fix Version/s: 1.3.5
    • Component/s: None
    • Labels:
      None

      Description

      Environment: Tomcat 5.5.25, Java 6, non-sticky session clustering, redirect to render strategy.

      Consider the following scenario:

      • Two tomcat instances running a Wicket application in clustered mode
      • Application contains a page that has a form and a feedback panel
      • Web browser posts the form. The post is processed in cluster node A
      • Application in cluster node A validates the form and produces some feedback messages
      • Request ends, Wicket ->clears all component feedback messages from the session<- , replicates the session, and issues a redirect to render the page
      • Browser follows the redirect and hits the application in node B
      • Application in node B renders the page but, because there are no feedback messages on the session , the feedback panel is not made visible

      The solution I found (don't know if its the best one) is to change WebSession.java to clear component feedback messages only if the current request is not a redirect.
      This solution breaks one test case (WicketTesterTest) because it takes the broken behavior for granted.

      I will attach a patch to WebSession and to WicketTesterTest.

      1. WebSession.patch
        0.8 kB
        Juliano Viana
      2. WicketTesterTest.patch
        3 kB
        Juliano Viana

        Activity

          People

          • Assignee:
            Unassigned
            Reporter:
            Juliano Viana
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development