Glad to see you, Martin As session replication issue was my first point want to figure out, after enable/disable wildfly nodes manually, I found session replicated to each node. And when I invoke normal http request (not ajax call), the session continued at live node, the page showed as usual. When I turned on debug log, I found when ajax call occurred, session id replicated to live node but session data not, because of session data size exceeded the max allowed size.
In Wicket Application, I put http-session in memory and adopted MemorySizeEvictionStratege with 32 bytes, but such ajax calls had more session size and evicted by wicket (?). On the lived node, although session id replicated but no data exists. After all, I enlarge the MemorySize with 128 kbs to fix this issue. From: Martin Grigorov <mgrigo...@apache.org> Date: Tuesday, September 20, 2022 at 9:05 PM To: users@wicket.apache.org <users@wicket.apache.org> Subject: Re: AjaxCall while failover return same page content 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 ? >