Hi I readed your previous emails related to this one and one possibility that comes to my mind is we are storing something on session without implement Serializable interface. If that so, as soon as GAE serialize the session to disk, that code causes an Exception and when MyFaces try to restore the state it just has dissapeared (servlet session is invalid, so a new one is created and our value in javax.faces.ViewState request parameter is not found, so a ViewExpiredException is thrown).
The solution if that is the case is check all lines that do something with session map and check if it is possible to serialize to disk. I tried the demo but I don't see the exception. regards, Leonardo Uribe 2010/12/10 Werner Punz <[email protected]> > Hello, I just wanted to discuss some weird behavior I am facing with GAE in > conjunction with MyFaces I assume this is GAE related but I just wonder if > we can fix or work around it on our side. > > Here is the situation: > > Given that I want to help a user out regarding all this, > I have a testing project deployed with MyFaces 2.0 on GAE, for now the > state saving is server (not tested yet on client) > GAE supports session handling on its infrastructure with memcache, but here > is the problem. I have a basic keepalive enabled which should refresh the > memcache session and keep it alive. This works, but occasionally GAE seems > to hickup and delivers a null object on the code which we use to access our > serialised view, which results in a ViewRoot not found exception. Now this > is definitely a GAE problem, but I wonder if we cannot fix it up on our > side, maybe by triggering some API from google. > > Here is the example > http://testinck4040.appspot.com/welcome.jsf > > You can leave the browser runnning, especially in the beginning, you will > see this hickup from time to time, as soon as you confirm the error alert > the next ajax request again goes through because the subsequent request was > again able to restore the viewroot. > After a while the errors become less or go away, which looks eerily like > caching behavior to me. > > > I assume this has something to do with GAEs internal way of serialising the > session from time to time. > Either way, any ideas or insight on this? > > > Werner > >
