A bug determined by a class of queriesThe series of Google's App Engine breakdowns continues. After the discovery of an error in the anti-phishing protection system last week (that blocked applications having integrated PayPal services), Google App Engine was confronting with a new problem on Tuesday, June 17: the datastore outage for certain time periods.
A member of Google App Engine team explained on Google Groups that the first problems appeared at 6.30 am PDT when, due to the datastore outage, a small number of requests were not successful, showing errors.
The number of errors increased during 9:00 and 11:30 am, when more users were unable to use Google App Engine: "Between 9:00 and 11:30am, and again at 12:40pm, the percentage of requests returning errors increased significantly. At around 1:40pm we were able to isolate the issue, and requests are currently serving normally."
The cause of datastore server outage was a bug determined by a certain class of queries. The query isolation solution will be further applied in order to ensure the entire system stability.
Google App Engine, as compared to commercial services like Amazon EC2 (Amazon Elastic Compute Cloud), allows developers to sign up for a free account, upload and publish applications without being concerned about server maintenance. For every free account there are allocated 500 MB of hard disk storage and CPU and bandwidth resources corresponding to a traffic determined by up to five million page views per month. Google App Engine comes with a runtime environment based on Python 2.5 programming language and almost all common web frameworks are supported.
On the Google App Engine web page all aspects concerning quotas and limits are described in detail: if a web request does not determine the application response in a few seconds, the server will send an error code to the user avoiding the perturbation of the entire system stability. As a consequence, by filtering and isolating datastore queries from a particular class, an enhanced system stability will be achieved.