Last Modified: July 10, 2014
In the grand tradition of practicing what you preach, the Google AppEngine for Java leverages the Datastore (built atop BigTable) and Memcache frameworks for session persistence. It seems that, over time, a small percentage of Datastore operations will fail.
When attempting to display a web page containing JSF input components, a "com.google.appengine.api.datastore.DatastoreTimeoutException" (sample stack trace) may be encountered by your web application. Once this error page is encountered in your application, no other page will work until your session times out.
According to Don Schwartz of Google, the next release of the Google AppEngine for Java will include "improved retry and error handling logic" that are intended to lessen the likelihood of frameworks such as JSF, Struts, etc. encountering this problem.
This problem still manifested itself in version 1.2.6 of the AppEngine SDK. You can work around this problem by setting the following context parameter in your
There are costs and benefits to saving the view state in the client tier. The "JavaServer Faces" forum on forums.sun.com has a thread that summarizes the difference between the
Google App Engine for Java > Using JavaServer Faces on the Google App Engine > Compatibility Issues >