I have a GAE application that has some complex reporting requirements.
Since there is currently no support for aggregate queries, my approach
is to instead build up a collection of the items to query in memory,
and then use JOSQL to perform the queries I need.

For the most part this has worked out OK. Part of the complication,
however, is that if I have a lot of items I need to collect from the
datastore (tens or hundred of thousands of items), I need to do this
in "chunks", in order to stay under the 30 second request limit. I do
this by issuing successive AJAX requests to initialize my data.

The problem is that occasionally the app will hit some threshold that
causes the GAE infrastructure to spin up a new JVM. In this case, all
the items I've collected in memory in the first JVM will no longer be
there, and I have to start over. For situations where it may take 10+
minutes to build up the collection of items, this becomes problematic.

I'm wondering if there could be some way (via some special http header
or otherwise) to ensure that all requests from a given user/session
will stay "stuck" to the same JVM.

Any other possible solutions I could consider? (Memcache, BTW, is not
an option, as the amount of data I'm building up in memory is more
than the 1MB maximum for memcache entries.)

thanks,

...stephan

--

You received this message because you are subscribed to the Google Groups 
"Google App Engine for Java" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en.


Reply via email to