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 -~----------~----~----~----~------~----~------~--~---
