DarkCoiote, I've fixed the memcache server bug. It was an obscure case that could happen when a delete-locked (delete with expiration time) item being at the tail of the namespace LRU chain. In other words, totally not related to your code at all... this should've worked.
Thanks for the bug report! I'm rolling up a new package of the memcacheg server now and then the App Engine folks can deploy it whenever works best for them. - Brad On Feb 19, 4:56 am, DarkCoiote <[email protected]> wrote: > Hi, > > somehow my app. can't use memcache anymore (it was working fine a week > ago). > > For instance, I clear the cache (memcache.flush_all()), use the app > (almost every operation uses caching) and then call the cache stats > page (stats = memcache.get_stats()) but the stats variable gets > consistently 'none' value. > > As a result, latency has increased a lot making responses exceed the > 10sec. timeout (maybe other bug here, as now it should be 30s right? > although the timeout can be from the 'gadgets.io.makeRequest' from the > opensocial part of the app.) > > The traceback of the problem I got with the datastore: > > An error occurred for the API request datastore_v3.RunQuery(). > Traceback (most recent call last): > File "/base/python_lib/versions/1/google/appengine/ext/webapp/ > __init__.py", line 503, in __call__ > handler.post(*groups) > File "/base/data/home/apps/date-review/2.331374829726725911/ > main.py", line 371, in post > avgRating = get_avg_rating(friend) > File "/base/data/home/apps/date-review/2.331374829726725911/ > main.py", line 95, in get_avg_rating > ratings = query.get() > File "/base/python_lib/versions/1/google/appengine/ext/db/ > __init__.py", line 1346, in get > results = self.fetch(1) > File "/base/python_lib/versions/1/google/appengine/ext/db/ > __init__.py", line 1390, in fetch > raw = self._get_query().Get(limit, offset) > File "/base/python_lib/versions/1/google/appengine/api/ > datastore.py", line 942, in Get > return self._Run(limit, offset)._Next(limit) > File "/base/python_lib/versions/1/google/appengine/api/ > datastore.py", line 883, in _Run > apiproxy_stub_map.MakeSyncCall('datastore_v3', 'RunQuery', pb, > result) > File "/base/python_lib/versions/1/google/appengine/api/ > apiproxy_stub_map.py", line 68, in MakeSyncCall > apiproxy.MakeSyncCall(service, call, request, response) > File "/base/python_lib/versions/1/google/appengine/api/ > apiproxy_stub_map.py", line 240, in MakeSyncCall > stub.MakeSyncCall(service, call, request, response) > File "/base/python_lib/versions/1/google/appengine/runtime/ > apiproxy.py", line 183, in MakeSyncCall > rpc.CheckSuccess() > File "/base/python_lib/versions/1/google/appengine/api/ > apiproxy_rpc.py", line 111, in CheckSuccess > raise self.exception > Error: An error occurred for the API request datastore_v3.RunQuery(). > > Some times I get this kind of traceback, which I'm sure is the > deadline problem: > > <class 'google.appengine.runtime.DeadlineExceededError'>: > Traceback (most recent call last): > File "/base/data/home/apps/date-review/2.331374829726725911/ > main.py", line 620, in main > run_wsgi_app(application) > File "/base/python_lib/versions/1/google/appengine/ext/webapp/ > util.py", line 76, in run_wsgi_app > result = application(env, _start_response) > File "/base/python_lib/versions/1/google/appengine/ext/webapp/ > __init__.py", line 503, in __call__ > handler.post(*groups) > File "/base/data/home/apps/date-review/2.331374829726725911/ > main.py", line 372, in post > numVisit = get_num_visits(friend) > File "/base/data/home/apps/date-review/2.331374829726725911/ > main.py", line 487, in get_num_visits > delete_old_visits(owner) > File "/base/data/home/apps/date-review/2.331374829726725911/ > main.py", line 492, in delete_old_visits > results = query.fetch(1000) > File "/base/python_lib/versions/1/google/appengine/ext/db/ > __init__.py", line 1390, in fetch > raw = self._get_query().Get(limit, offset) > File "/base/python_lib/versions/1/google/appengine/api/ > datastore.py", line 942, in Get > return self._Run(limit, offset)._Next(limit) > File "/base/python_lib/versions/1/google/appengine/api/ > datastore.py", line 1536, in _Next > apiproxy_stub_map.MakeSyncCall('datastore_v3', 'Next', req, > result) > File "/base/python_lib/versions/1/google/appengine/api/ > apiproxy_stub_map.py", line 68, in MakeSyncCall > apiproxy.MakeSyncCall(service, call, request, response) > File "/base/python_lib/versions/1/google/appengine/api/ > apiproxy_stub_map.py", line 240, in MakeSyncCall > stub.MakeSyncCall(service, call, request, response) > File "/base/python_lib/versions/1/google/appengine/runtime/ > apiproxy.py", line 182, in MakeSyncCall > rpc.Wait() > File "/base/python_lib/versions/1/google/appengine/api/ > apiproxy_rpc.py", line 97, in Wait > rpc_completed = self._WaitImpl() > File "/base/python_lib/versions/1/google/appengine/runtime/ > apiproxy.py", line 104, in _WaitImpl > rpc_completed = _apphosting_runtime___python__apiproxy.Wait(self) > > Any ideas? > Sorry for the long post and thanks for reading. --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
