Hi, Is Wildfly configured to replicate the http sessions across the nodes ? It seems you save a page instance on node 1 but then it is not available at node 2. I.e. Wildfly didn't replicate the http session from 1 to 2 and Wicket knows nothing about page with id 7 on node 2.
On Fri, Sep 2, 2022 at 4:05 PM Shengche Hsiao <shengchehs...@gmail.com> wrote: > I found some log on failover node > > > 2022-09-02 20:57:41,270 DEBUG > [org.apache.wicket.pageStore.memory.HttpSessionDataStore] (default > task-352) Stored '32808' bytes for page '7' in session > '1Nlahj618TQ9MgwbQLPt6Agk-_F0zQTu1Qs-Vgp1' > > 2022-09-02 20:57:41,317 DEBUG > [org.apache.wicket.pageStore.memory.HttpSessionDataStore] (default > task-352) Loaded '-1' bytes for page with id '7' in session > '1Nlahj618TQ9MgwbQLPt6Agk-_F0zQTu1Qs-Vgp1' > > > I used HttpSessionDataStore to store pages, when node 1 closed > intentionally , I click none-ajax link, the node 2 take over the closed > node 1’s session, and showed correct page content. Then, I click the ajax > button, as the log showed, page ‘7’ stored with ‘32808’ bytes, but loaded > with ‘-1’ bytes for same pageid. > > > > From: ShengChe Hsiao <front...@gmail.com> > Date: Friday, September 2, 2022 at 10:22 > To: Wicket User Mailinglist <users@wicket.apache.org> > Subject: AjaxCall while failover return same page content > Dear all > > I faced a strange situation, I built a wicket application which deployed > to Wildfly Cluster. > When I using Apache httpd as load balancer, everything works as expected. > But when I move application to GCP, and use their load balancer which has > gclb and gclib cookie to identity transfer to wildfly node with TTL of 300 > seconds. > After GCP LB ttl timeout (wicket session still active), gcp lb route to > another wildfly node, and I clicked on ajaxbutton. I saw response code 200 > on browser console and response payload is <?xml versio=”1.0” > encoding=”UTF-8”><ajax-response></ajax-response>. > > How do I fix it ? >