No saved view state could be found in tomcat cluster

classic Classic list List threaded Threaded
8 messages Options
Reply | Threaded
Open this post in threaded view
|

No saved view state could be found in tomcat cluster

Jalal Almutawa
Hello,

I have a TomEE 1.7.1 cluster setup using DeltaManager with a
ForceReplicationValve that forces all JSF bean attributes to be replicated
between nodes. I also have a session-test JSF application with a Session
Scoped Managed Bean with a simple Integer "counter" to serve as a
replication test. A facelet with an <h:commandButton /> is used to
increment the counter just to see if the replication works.

Now replication works fine, I can see the incremented value of the counter
each type a hit the commandButton. The issue is that when we failover
between nodes, MyFaces throws a No saved view state could be found error.
It then works when we refresh the page, but it will not maintain the POST
request to increment the counter (e.g. counter=4, we click the increment
button, we get the error, we refresh the page, counter still = 4)

Code for the session-test webapp: https://github.com/jmutawa/session-test
Code for the ForceReplicationValve:
https://github.com/jmutawa/ForceReplicationValve

We tried various configuration options in the web.xml (setting state saving
in the client, setting serialize state in session to false, ..) but still
same error.

Appreciate if someone could tell us what are doing wrong.

Thanks,
Jalal
Reply | Threaded
Open this post in threaded view
|

Re: No saved view state could be found in tomcat cluster

Romain Manni-Bucau
Hi

TomEE has a built in cluster support, why didnt you use that?


Romain Manni-Bucau
@rmannibucau <https://twitter.com/rmannibucau> |  Blog
<http://rmannibucau.wordpress.com> | Github <https://github.com/rmannibucau> |
LinkedIn <https://www.linkedin.com/in/rmannibucau> | Tomitriber
<http://www.tomitribe.com>

2016-01-27 15:04 GMT+01:00 Jalal Almutawa <[hidden email]>:

> Hello,
>
> I have a TomEE 1.7.1 cluster setup using DeltaManager with a
> ForceReplicationValve that forces all JSF bean attributes to be replicated
> between nodes. I also have a session-test JSF application with a Session
> Scoped Managed Bean with a simple Integer "counter" to serve as a
> replication test. A facelet with an <h:commandButton /> is used to
> increment the counter just to see if the replication works.
>
> Now replication works fine, I can see the incremented value of the counter
> each type a hit the commandButton. The issue is that when we failover
> between nodes, MyFaces throws a No saved view state could be found error.
> It then works when we refresh the page, but it will not maintain the POST
> request to increment the counter (e.g. counter=4, we click the increment
> button, we get the error, we refresh the page, counter still = 4)
>
> Code for the session-test webapp: https://github.com/jmutawa/session-test
> Code for the ForceReplicationValve:
> https://github.com/jmutawa/ForceReplicationValve
>
> We tried various configuration options in the web.xml (setting state saving
> in the client, setting serialize state in session to false, ..) but still
> same error.
>
> Appreciate if someone could tell us what are doing wrong.
>
> Thanks,
> Jalal
>
Reply | Threaded
Open this post in threaded view
|

Re: No saved view state could be found in tomcat cluster

Thomas Andraschko-4
You probably need to set some myfaces params to serialize the state in the
session.
If you enabled encryption, you also need to set the encryption keys cause
otherwhise they are generated randomly on startup on each node.

Am Mittwoch, 27. Januar 2016 schrieb Romain Manni-Bucau :

> Hi
>
> TomEE has a built in cluster support, why didnt you use that?
>
>
> Romain Manni-Bucau
> @rmannibucau <https://twitter.com/rmannibucau> |  Blog
> <http://rmannibucau.wordpress.com> | Github <
> https://github.com/rmannibucau> |
> LinkedIn <https://www.linkedin.com/in/rmannibucau> | Tomitriber
> <http://www.tomitribe.com>
>
> 2016-01-27 15:04 GMT+01:00 Jalal Almutawa <[hidden email]
> <javascript:;>>:
>
> > Hello,
> >
> > I have a TomEE 1.7.1 cluster setup using DeltaManager with a
> > ForceReplicationValve that forces all JSF bean attributes to be
> replicated
> > between nodes. I also have a session-test JSF application with a Session
> > Scoped Managed Bean with a simple Integer "counter" to serve as a
> > replication test. A facelet with an <h:commandButton /> is used to
> > increment the counter just to see if the replication works.
> >
> > Now replication works fine, I can see the incremented value of the
> counter
> > each type a hit the commandButton. The issue is that when we failover
> > between nodes, MyFaces throws a No saved view state could be found error.
> > It then works when we refresh the page, but it will not maintain the POST
> > request to increment the counter (e.g. counter=4, we click the increment
> > button, we get the error, we refresh the page, counter still = 4)
> >
> > Code for the session-test webapp:
> https://github.com/jmutawa/session-test
> > Code for the ForceReplicationValve:
> > https://github.com/jmutawa/ForceReplicationValve
> >
> > We tried various configuration options in the web.xml (setting state
> saving
> > in the client, setting serialize state in session to false, ..) but still
> > same error.
> >
> > Appreciate if someone could tell us what are doing wrong.
> >
> > Thanks,
> > Jalal
> >
>
Reply | Threaded
Open this post in threaded view
|

Re: No saved view state could be found in tomcat cluster

Jalal Almutawa
In reply to this post by Romain Manni-Bucau
Hi,

Because i just got to know about it from you now :) we were planning to go
for plain Tomcat but then switched to TomEE but kept most of the previous
setup.

I will check TomEE's clustering now.

Many thanks,
Jalal
On Jan 27, 2016 5:08 PM, "Romain Manni-Bucau" <[hidden email]> wrote:

> Hi
>
> TomEE has a built in cluster support, why didnt you use that?
>
>
> Romain Manni-Bucau
> @rmannibucau <https://twitter.com/rmannibucau> |  Blog
> <http://rmannibucau.wordpress.com> | Github <
> https://github.com/rmannibucau> |
> LinkedIn <https://www.linkedin.com/in/rmannibucau> | Tomitriber
> <http://www.tomitribe.com>
>
> 2016-01-27 15:04 GMT+01:00 Jalal Almutawa <[hidden email]>:
>
> > Hello,
> >
> > I have a TomEE 1.7.1 cluster setup using DeltaManager with a
> > ForceReplicationValve that forces all JSF bean attributes to be
> replicated
> > between nodes. I also have a session-test JSF application with a Session
> > Scoped Managed Bean with a simple Integer "counter" to serve as a
> > replication test. A facelet with an <h:commandButton /> is used to
> > increment the counter just to see if the replication works.
> >
> > Now replication works fine, I can see the incremented value of the
> counter
> > each type a hit the commandButton. The issue is that when we failover
> > between nodes, MyFaces throws a No saved view state could be found error.
> > It then works when we refresh the page, but it will not maintain the POST
> > request to increment the counter (e.g. counter=4, we click the increment
> > button, we get the error, we refresh the page, counter still = 4)
> >
> > Code for the session-test webapp:
> https://github.com/jmutawa/session-test
> > Code for the ForceReplicationValve:
> > https://github.com/jmutawa/ForceReplicationValve
> >
> > We tried various configuration options in the web.xml (setting state
> saving
> > in the client, setting serialize state in session to false, ..) but still
> > same error.
> >
> > Appreciate if someone could tell us what are doing wrong.
> >
> > Thanks,
> > Jalal
> >
>
Reply | Threaded
Open this post in threaded view
|

Re: No saved view state could be found in tomcat cluster

Jalal Almutawa
Hello,

I could only find stateless failover in the TomEE documentation site.
Appreciate your guidance for the stateful part.

Thanks,
Jalal

On Wed, Jan 27, 2016 at 6:06 PM, Jalal Almutawa <[hidden email]>
wrote:

> Hi,
>
> Because i just got to know about it from you now :) we were planning to go
> for plain Tomcat but then switched to TomEE but kept most of the previous
> setup.
>
> I will check TomEE's clustering now.
>
> Many thanks,
> Jalal
> On Jan 27, 2016 5:08 PM, "Romain Manni-Bucau" <[hidden email]>
> wrote:
>
>> Hi
>>
>> TomEE has a built in cluster support, why didnt you use that?
>>
>>
>> Romain Manni-Bucau
>> @rmannibucau <https://twitter.com/rmannibucau> |  Blog
>> <http://rmannibucau.wordpress.com> | Github <
>> https://github.com/rmannibucau> |
>> LinkedIn <https://www.linkedin.com/in/rmannibucau> | Tomitriber
>> <http://www.tomitribe.com>
>>
>> 2016-01-27 15:04 GMT+01:00 Jalal Almutawa <[hidden email]>:
>>
>> > Hello,
>> >
>> > I have a TomEE 1.7.1 cluster setup using DeltaManager with a
>> > ForceReplicationValve that forces all JSF bean attributes to be
>> replicated
>> > between nodes. I also have a session-test JSF application with a Session
>> > Scoped Managed Bean with a simple Integer "counter" to serve as a
>> > replication test. A facelet with an <h:commandButton /> is used to
>> > increment the counter just to see if the replication works.
>> >
>> > Now replication works fine, I can see the incremented value of the
>> counter
>> > each type a hit the commandButton. The issue is that when we failover
>> > between nodes, MyFaces throws a No saved view state could be found
>> error.
>> > It then works when we refresh the page, but it will not maintain the
>> POST
>> > request to increment the counter (e.g. counter=4, we click the increment
>> > button, we get the error, we refresh the page, counter still = 4)
>> >
>> > Code for the session-test webapp:
>> https://github.com/jmutawa/session-test
>> > Code for the ForceReplicationValve:
>> > https://github.com/jmutawa/ForceReplicationValve
>> >
>> > We tried various configuration options in the web.xml (setting state
>> saving
>> > in the client, setting serialize state in session to false, ..) but
>> still
>> > same error.
>> >
>> > Appreciate if someone could tell us what are doing wrong.
>> >
>> > Thanks,
>> > Jalal
>> >
>>
>
Reply | Threaded
Open this post in threaded view
|

Re: No saved view state could be found in tomcat cluster

Romain Manni-Bucau
Hi

Quickly from the phone:
http://tomee-openejb.979440.n4.nabble.com/TomEE-cluster-and-cdibeans-td4664576.html
has the needed config/system properties.
Le 27 janv. 2016 18:05, "Jalal Almutawa" <[hidden email]> a
écrit :

> Hello,
>
> I could only find stateless failover in the TomEE documentation site.
> Appreciate your guidance for the stateful part.
>
> Thanks,
> Jalal
>
> On Wed, Jan 27, 2016 at 6:06 PM, Jalal Almutawa <[hidden email]>
> wrote:
>
> > Hi,
> >
> > Because i just got to know about it from you now :) we were planning to
> go
> > for plain Tomcat but then switched to TomEE but kept most of the previous
> > setup.
> >
> > I will check TomEE's clustering now.
> >
> > Many thanks,
> > Jalal
> > On Jan 27, 2016 5:08 PM, "Romain Manni-Bucau" <[hidden email]>
> > wrote:
> >
> >> Hi
> >>
> >> TomEE has a built in cluster support, why didnt you use that?
> >>
> >>
> >> Romain Manni-Bucau
> >> @rmannibucau <https://twitter.com/rmannibucau> |  Blog
> >> <http://rmannibucau.wordpress.com> | Github <
> >> https://github.com/rmannibucau> |
> >> LinkedIn <https://www.linkedin.com/in/rmannibucau> | Tomitriber
> >> <http://www.tomitribe.com>
> >>
> >> 2016-01-27 15:04 GMT+01:00 Jalal Almutawa <[hidden email]>:
> >>
> >> > Hello,
> >> >
> >> > I have a TomEE 1.7.1 cluster setup using DeltaManager with a
> >> > ForceReplicationValve that forces all JSF bean attributes to be
> >> replicated
> >> > between nodes. I also have a session-test JSF application with a
> Session
> >> > Scoped Managed Bean with a simple Integer "counter" to serve as a
> >> > replication test. A facelet with an <h:commandButton /> is used to
> >> > increment the counter just to see if the replication works.
> >> >
> >> > Now replication works fine, I can see the incremented value of the
> >> counter
> >> > each type a hit the commandButton. The issue is that when we failover
> >> > between nodes, MyFaces throws a No saved view state could be found
> >> error.
> >> > It then works when we refresh the page, but it will not maintain the
> >> POST
> >> > request to increment the counter (e.g. counter=4, we click the
> increment
> >> > button, we get the error, we refresh the page, counter still = 4)
> >> >
> >> > Code for the session-test webapp:
> >> https://github.com/jmutawa/session-test
> >> > Code for the ForceReplicationValve:
> >> > https://github.com/jmutawa/ForceReplicationValve
> >> >
> >> > We tried various configuration options in the web.xml (setting state
> >> saving
> >> > in the client, setting serialize state in session to false, ..) but
> >> still
> >> > same error.
> >> >
> >> > Appreciate if someone could tell us what are doing wrong.
> >> >
> >> > Thanks,
> >> > Jalal
> >> >
> >>
> >
>
Reply | Threaded
Open this post in threaded view
|

Re: No saved view state could be found in tomcat cluster

Jalal Almutawa
Thanks Mr. Romain,

From what I understood, I have added:

openejb.session-context = http
tomee.session-context.wrapper = http

to the system.properties file, and changed the backing bean from JSF
managed to CDI managed.

Now the session replication works without the need for the
ForceReplicationValve (all default tomcat cluster setup remains), but the
No saved view state error still get thrown on failover.

Thanks,
Jalal

On Wed, Jan 27, 2016 at 9:36 PM, Romain Manni-Bucau <[hidden email]>
wrote:

> Hi
>
> Quickly from the phone:
>
> http://tomee-openejb.979440.n4.nabble.com/TomEE-cluster-and-cdibeans-td4664576.html
> has the needed config/system properties.
> Le 27 janv. 2016 18:05, "Jalal Almutawa" <[hidden email]> a
> écrit :
>
> > Hello,
> >
> > I could only find stateless failover in the TomEE documentation site.
> > Appreciate your guidance for the stateful part.
> >
> > Thanks,
> > Jalal
> >
> > On Wed, Jan 27, 2016 at 6:06 PM, Jalal Almutawa <
> [hidden email]>
> > wrote:
> >
> > > Hi,
> > >
> > > Because i just got to know about it from you now :) we were planning to
> > go
> > > for plain Tomcat but then switched to TomEE but kept most of the
> previous
> > > setup.
> > >
> > > I will check TomEE's clustering now.
> > >
> > > Many thanks,
> > > Jalal
> > > On Jan 27, 2016 5:08 PM, "Romain Manni-Bucau" <[hidden email]>
> > > wrote:
> > >
> > >> Hi
> > >>
> > >> TomEE has a built in cluster support, why didnt you use that?
> > >>
> > >>
> > >> Romain Manni-Bucau
> > >> @rmannibucau <https://twitter.com/rmannibucau> |  Blog
> > >> <http://rmannibucau.wordpress.com> | Github <
> > >> https://github.com/rmannibucau> |
> > >> LinkedIn <https://www.linkedin.com/in/rmannibucau> | Tomitriber
> > >> <http://www.tomitribe.com>
> > >>
> > >> 2016-01-27 15:04 GMT+01:00 Jalal Almutawa <[hidden email]>:
> > >>
> > >> > Hello,
> > >> >
> > >> > I have a TomEE 1.7.1 cluster setup using DeltaManager with a
> > >> > ForceReplicationValve that forces all JSF bean attributes to be
> > >> replicated
> > >> > between nodes. I also have a session-test JSF application with a
> > Session
> > >> > Scoped Managed Bean with a simple Integer "counter" to serve as a
> > >> > replication test. A facelet with an <h:commandButton /> is used to
> > >> > increment the counter just to see if the replication works.
> > >> >
> > >> > Now replication works fine, I can see the incremented value of the
> > >> counter
> > >> > each type a hit the commandButton. The issue is that when we
> failover
> > >> > between nodes, MyFaces throws a No saved view state could be found
> > >> error.
> > >> > It then works when we refresh the page, but it will not maintain the
> > >> POST
> > >> > request to increment the counter (e.g. counter=4, we click the
> > increment
> > >> > button, we get the error, we refresh the page, counter still = 4)
> > >> >
> > >> > Code for the session-test webapp:
> > >> https://github.com/jmutawa/session-test
> > >> > Code for the ForceReplicationValve:
> > >> > https://github.com/jmutawa/ForceReplicationValve
> > >> >
> > >> > We tried various configuration options in the web.xml (setting state
> > >> saving
> > >> > in the client, setting serialize state in session to false, ..) but
> > >> still
> > >> > same error.
> > >> >
> > >> > Appreciate if someone could tell us what are doing wrong.
> > >> >
> > >> > Thanks,
> > >> > Jalal
> > >> >
> > >>
> > >
> >
>
Reply | Threaded
Open this post in threaded view
|

Re: No saved view state could be found in tomcat cluster

Romain Manni-Bucau
Can you debug the session during the request? Wonder if you hit a serialize
instance replaced by just an id instead of the actual value.

Client state saving would probably work then.
Le 28 janv. 2016 07:03, "Jalal Almutawa" <[hidden email]> a
écrit :

> Thanks Mr. Romain,
>
> From what I understood, I have added:
>
> openejb.session-context = http
> tomee.session-context.wrapper = http
>
> to the system.properties file, and changed the backing bean from JSF
> managed to CDI managed.
>
> Now the session replication works without the need for the
> ForceReplicationValve (all default tomcat cluster setup remains), but the
> No saved view state error still get thrown on failover.
>
> Thanks,
> Jalal
>
> On Wed, Jan 27, 2016 at 9:36 PM, Romain Manni-Bucau <[hidden email]
> >
> wrote:
>
> > Hi
> >
> > Quickly from the phone:
> >
> >
> http://tomee-openejb.979440.n4.nabble.com/TomEE-cluster-and-cdibeans-td4664576.html
> > has the needed config/system properties.
> > Le 27 janv. 2016 18:05, "Jalal Almutawa" <[hidden email]> a
> > écrit :
> >
> > > Hello,
> > >
> > > I could only find stateless failover in the TomEE documentation site.
> > > Appreciate your guidance for the stateful part.
> > >
> > > Thanks,
> > > Jalal
> > >
> > > On Wed, Jan 27, 2016 at 6:06 PM, Jalal Almutawa <
> > [hidden email]>
> > > wrote:
> > >
> > > > Hi,
> > > >
> > > > Because i just got to know about it from you now :) we were planning
> to
> > > go
> > > > for plain Tomcat but then switched to TomEE but kept most of the
> > previous
> > > > setup.
> > > >
> > > > I will check TomEE's clustering now.
> > > >
> > > > Many thanks,
> > > > Jalal
> > > > On Jan 27, 2016 5:08 PM, "Romain Manni-Bucau" <[hidden email]
> >
> > > > wrote:
> > > >
> > > >> Hi
> > > >>
> > > >> TomEE has a built in cluster support, why didnt you use that?
> > > >>
> > > >>
> > > >> Romain Manni-Bucau
> > > >> @rmannibucau <https://twitter.com/rmannibucau> |  Blog
> > > >> <http://rmannibucau.wordpress.com> | Github <
> > > >> https://github.com/rmannibucau> |
> > > >> LinkedIn <https://www.linkedin.com/in/rmannibucau> | Tomitriber
> > > >> <http://www.tomitribe.com>
> > > >>
> > > >> 2016-01-27 15:04 GMT+01:00 Jalal Almutawa <[hidden email]
> >:
> > > >>
> > > >> > Hello,
> > > >> >
> > > >> > I have a TomEE 1.7.1 cluster setup using DeltaManager with a
> > > >> > ForceReplicationValve that forces all JSF bean attributes to be
> > > >> replicated
> > > >> > between nodes. I also have a session-test JSF application with a
> > > Session
> > > >> > Scoped Managed Bean with a simple Integer "counter" to serve as a
> > > >> > replication test. A facelet with an <h:commandButton /> is used to
> > > >> > increment the counter just to see if the replication works.
> > > >> >
> > > >> > Now replication works fine, I can see the incremented value of the
> > > >> counter
> > > >> > each type a hit the commandButton. The issue is that when we
> > failover
> > > >> > between nodes, MyFaces throws a No saved view state could be found
> > > >> error.
> > > >> > It then works when we refresh the page, but it will not maintain
> the
> > > >> POST
> > > >> > request to increment the counter (e.g. counter=4, we click the
> > > increment
> > > >> > button, we get the error, we refresh the page, counter still = 4)
> > > >> >
> > > >> > Code for the session-test webapp:
> > > >> https://github.com/jmutawa/session-test
> > > >> > Code for the ForceReplicationValve:
> > > >> > https://github.com/jmutawa/ForceReplicationValve
> > > >> >
> > > >> > We tried various configuration options in the web.xml (setting
> state
> > > >> saving
> > > >> > in the client, setting serialize state in session to false, ..)
> but
> > > >> still
> > > >> > same error.
> > > >> >
> > > >> > Appreciate if someone could tell us what are doing wrong.
> > > >> >
> > > >> > Thanks,
> > > >> > Jalal
> > > >> >
> > > >>
> > > >
> > >
> >
>