Just looked at the logs from the morning hours and found the same
timeout errors with the fetch command as I was receiving using the
iterator.
I got at least a hundred of these errors between the hours of 3am and
4:15am (failed on nearly every attempt), and then I stopped getting
the errors for now. Here's a example log where I get the error and
you can see the approximately 3 second hang before being killed off by
the google servers:
# D 11-22 04:52AM 57.028 Query is built
# E 11-22 04:53AM 01.050
Traceback (most recent call last):
File "/base/python_lib/versions/1/google/appengine/ext/webapp/
__init__.py", line 499, in __call__
handler.get(*groups)
File "/base/data/home/apps/gas/serverhttp.py", line 1382, in get
self.player.pruneInactive()
File "/base/data/home/apps/gas/serverhttp.py", line 355, in
pruneInactive
results = query.fetch(5)
File "/base/python_lib/versions/1/google/appengine/ext/db/
__init__.py", line 1377, in fetch
raw = self._get_query().Get(limit, offset)
File "/base/python_lib/versions/1/google/appengine/api/
datastore.py", line 938, in Get
return self._Run(limit, offset)._Next(limit)
File "/base/python_lib/versions/1/google/appengine/api/
datastore.py", line 882, in _Run
_ToDatastoreError(err)
File "/base/python_lib/versions/1/google/appengine/api/
datastore.py", line 1636, in _ToDatastoreError
raise errors[err.application_error](err.error_detail)
Timeout
By comparison, here is an excerpt from my log at 6:30am this morning
when it's working correctly. You can see the fetch taking .001
milliseconds in this log excerpt (extremely fast) and even with
everything I do after that before the server is done, it takes about
300 ms.
# D 11-22 06:28AM 36.964 Starting pruneInactive
# D 11-22 06:28AM 36.966 Query is built
# D 11-22 06:28AM 37.910 Query is executed (limit 5)
# D 11-22 06:28AM 37.911 Ready to start first prune
# D 11-22 06:28AM 38.267 SERVER done.
I'm at a loss of what to try next. With very high failure rates, my
app is completely unresponsive. 90% of the time however, I get no
timeout errors then the failures come in waves. Interestingly, there
are several other parts of my app where I do things with the datastore
that seem much heavier than this, but this is the only function that
ever gives me consistent problems.
Thanks in advance for any help.
-Rob
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---