I am consistently getting Deadline exceeded messages.  The problem is
that my individual requests are trivial: do a query or two to
BigTable, serialize the results, and return them.

So, what could be causing these messages.  How are deadlines actually
measured on app engine?

In my case, I am sending a number (10-50) of requests in parallel.
Each individual request retrieves a single row in a table plus one or
two rows in related tables.

I would guess that that CPU time usage is measured by interrupting the
thread serving a request at regular intervals.   The question is, how
does this interrupt ascertain whether a CPU deadline has been
exceeded.

I hypothesize that when the poller wakes up, it checks to see which
application has the cpu, and adds a tick to the count for that user.
If the same application is using the CPU as the previous  time the
poller awoke, then the poller checks to see if the tick count exceeds
the deadline. If so, it initiates a deadline exceeded message and
terminates the request.

If this is the algorithm, then it is very problematic for me. Will
someone from the Google App Engine team explain to us the workings of
the Deadline measuring algorithm so that we can adjust our application
for work on the platform.

Also, could the problem have anything to do with indexing?  Our
queries are dirt simple: a single query parameter, so we do not
generate indices for them manually.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" 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?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to