[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
| Re: [starter-dev] Return of the Dreaded View Expiration! | 
- From: Reza Rahman <reza_rahman@xxxxxxxx>
- Date: Fri, 14 Mar 2025 12:23:37 -0400
- Delivered-to: starter-dev@xxxxxxxxxxx
- List-archive: <https://dev.eclipse.org/mailman/private/starter-dev/>
- List-help: <mailto:starter-dev-request@eclipse.org?subject=help>
- List-subscribe: <https://dev.eclipse.org/mailman/listinfo/starter-dev>, <mailto:starter-dev-request@eclipse.org?subject=subscribe>
- List-unsubscribe: <https://dev.eclipse.org/mailman/options/starter-dev>, <mailto:starter-dev-request@eclipse.org?subject=unsubscribe>
- Thread-topic: Re: Return of the Dreaded View Expiration!
- Ui-outboundreport: notjunk:1;M01:P0:Ai0JfrrGXUw=;wXHQoTBxpgJpyJbJh+tlIA6p9zW V8hzyNcOOfiv4eOQHuiaRHbS6xPhxXghtKfuadwy/Q658XO/3PYwOH0nzn6Dygwy6EKL5xGDn bvMmAZjwbToEwbM4hqNjmQUKd0zDfzym5k0H/yW0j3suA+X+IitrlXUkcWmP9OX65GIrjArKl sUOOItRF6jjNQiLj4/++SIowb2glyD71gSKJhM3M3ZxPkqfl51tsrGhPcHQsdvWZtUyapilpc dKYIP3qqPAKQbNvUFduWPEzJyEdWb9ugv25eaS3ndiW5fW/UgpRcp0xcKSOxbKRd1hyimFeZR lt3JxqW9S+tVv4drdMMHEoRkpvMDV/estW7sSoKTusF9CTxKyMGGzkRJZkBk90hgeOYp06Zgt J1YYOXai1eD6T1HiyRDFupkqwCPM7q+cfFHr9f3gy3OKkuCKBxpLFitOOn7IsKNXLExttWIul fSZrhSqDbIf7TW/Wcnv4AUUgRMe/1y7qae0yacY8uw8xYh1k6OHx1T/QVEuPhbIzpX1Q5w58n qdjD7D7ad7hh8jJFncQ8XSygeiQMI1bKdeNgnmVfBEUXD8kh0jMdoMq/0QT3qD4xyUcM8fiWK jZl8FiLcL5F+hUT7dobv5Q3W71kxWDeZPzLT/wAFU4pFP8KIf3hZZYMrlC/O6MH1bSCcviXgd D0N1jkBAJ/ttKQ9NVCQACACmMe5XqlbY+9CZoPV7UVEDF/pXraMs8Avn6B9IBBjNQF1Utcohe XO+He8Yzj2yTNGtLRmpC2lQSbGQAYyIgHAFnx91pJFpenw7THnPHhJjkZwe6Ov4V9Ofy0xX4y irDzBVyVCl5U7nzNdGmOZL+vmuUCBlFCHS1TfT3oI/Wf4Vkvs8/5wvz28kROxHgKa3Kufx5P2 9zV8r4nBfv+Cbfx4YnvbjVe7qmpfuP6YLEYy9GR0i0E6JqZzh8WRQGXxwXw3dFkswIHvnDvWA o2jxVVAUSWl3tGUfQf3oy44vQNFvTzzowH6/fl8V+KtLYvThwye8JWNB3hCRh3IhOPyWJ3NEk e0lpslYa6cOnPDVExho0A2fru8ojGeAvvVcoa5oYVDKkzEhJE8s36pVDk/SUZSiQ0If8FUcU6 YyiKoHkfbKxtg88LH2w8AacYDoheEb0tRTS5dJTWDs6g1C8Gdi2ghLNDw9A0BqLxUH/XEBW+j Eypv3S0FFt9m/J2mKq/L7QXPxbTVm7LCI39kN58Wk+6qHFkfy/TlOnvB+42Beui4NcJSrL97z bWqgnzQ7FZgjfWfgBk6jbK1eNdrA/zru7f1M4cYK5Na4UviokmoAZt6IyhZOpsDZB0tqSc/np 76cJAyTBBu/ccSXA8xvQzLRXgXs7Rxrb2lVQ3qHOJ1kaJWcExGQAvx7y2O3JXmBB2lTXUEe0m oe4T87i5CkEiGC/+Kt/7UJdeSSFyFnFZ+oKQMfKpVj0x3CI5kRNCEXdVzl6w8BTK7igpbRqqm TJijEiXFmGNA+DjHOWh/S95+pg/z1zo/99tVQEZ/XbIkPmAYT
I found out that session affinity was indeed turned off and I have now turned it on.
Before deploying this change, is it worth it to observe if this simply solves the problem? Or should I switch to client state saving anyway?
WDYT?
From: Bauke Scholtz <balusc@xxxxxxxxx>
Sent: Friday, March 14, 2025 11:59 AM
To: Reza Rahman <reza_rahman@xxxxxxxx>
Cc: starter developer discussions <starter-dev@xxxxxxxxxxx>; Edward Burns <Edward.Burns@xxxxxxxxxxxxx>; Kito Mann <kito.mann@xxxxxxxxxxx>
Subject: Re: Return of the Dreaded View Expiration! 
 try to ensure sticky sessions for good measure
Cheers, B
OK, great. Let me test it and get it deployed. I'll monitor for
      any more issues and also try to ensure sticky sessions for good
      measure. Thanks!
On 3/14/2025 11:53 AM, Bauke Scholtz
      wrote:
Cheers, B
Do you mind kindly making a PR with the approach you
              think is best overall? I'll test it out and monitor that
              it works. I appreciate it!
On 3/14/2025 11:45 AM, Bauke Scholtz wrote:
Yeah. The issue boils down to that the view
                scoped bean referenced in the p:selectOneRadio is
                created for the first time when the response is already
                committed. And view scoped beans need to be saved in the
                session. But when the response is already committed the
                cookie associated with the session cannot be set.
Another solution is to add a f:viewAction
                  referencing some bean init method and use that instead
                  of postconstruct. This is guaranteed invoked before
                  render response.
Yet another solution is to create a servlet filter
                  which does an explicit request.getSession() call.
You got it.
Cheers, B
To some extent, the symptoms at least appear
                      simple. We are now getting copious amounts of
                      views expired (example stack trace attached). I
                      had seen this in prior releases with JBoss EAP 7.4
                      (and the corresponding WildFly version). What I
                      did is to set STATE_SAVING_METHOD=client. It
                      worked well and saw no more views expiring in the
                      logs.
Then we upgraded to JBoss EAP 8 and the
                      corresponding WildFly versions. Now with
                      STATE_SAVING_METHOD=client, I get this strange
                      session state saving issue (example stack trace
                      also attached). So we are stuck with views
                      expiring again.
Let me know if I can share anything else. Let me
                      see if there is anything I can do to ensure sticky
                      sessions. Because this is deployed to an Azure
                      PaaS, I have a very limited amount of control.
On 3/14/2025 10:58 AM, Bauke Scholtz wrote:
Hi,
 
I
                          had to remove STATE_SAVING_METHOD=client
                          because I could not get it to work
                        Would be helpful if you elaborate this in
                        detail. It might be a clue. One of
                        pre-requirements for that in a cluster
                        environment is that the jsf/ClientSideSecretKey
                          env param is set (usually in web.xml). This
                          has been renamed to faces/ClientSideSecretKey.
                          So if the cluster doesn't use sticky sessions
                          then ViewExpiredException will occur.
Cheers, B
                          
Hey Reza,
 
Can you provide some more details
                                (perhaps point me to logs or explain any
                                scenarios)? 
 
We're still partners with PrimeTek
                                and I still work with Bauke Scholtz
                                (cc'd), so we can figure it out. 
Hi Kito/others,
                                I have been monitoring the release for
                                stability and unfortunately we
                                have a problem that needs to be solved.
                                I had to remove
                                STATE_SAVING_METHOD=client because I
                                could not get it to work with the
                                latest PrimeFaces/Jakarta EE 10/JBoss
                                EAP 8. Now we have the infamous
                                JSF problem of views expiring left and
                                right again of course. I will
                                keep trying this weekend, but can you
                                possibly help me look at this and
                                solve it? You still have some contacts
                                with the PrimeFaces folks, right?
                                Could they help? This appears to be
                                mainly a PrimeFaces problem.
                                Thanks,
                                Reza