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 ?
>

Reply via email to