Brian, I apologize if I came across as if I took my frustration out on you. I converted all my namespace identifiers to string (a 30-second fix), and all is well with my app. I can tell the one hour downtime will cost me dearly, but thanks to your quick response to my question on the board, at least it wasn't a longer downtime.
Best regards - Rishi On Wed, Feb 22, 2012 at 6:06 PM, Rishi Arora <rishi.ar...@ship-rack.com>wrote: > Honestly, that comes as a big surprise. For one, I have operated in this > manner for about 10 months - using integer namespaces. Second, the > documentation doesn't specify that anywhere: > > http://code.google.com/appengine/docs/python/memcache/functions.html > > get(key, namespace=None) > > Looks up a single key in memcache. > > Arguments: > keyThe key in memcache to look up. The Key can be a string or a tuple of > (hash_value, string) where the hash_value, normally used for sharding onto > a memcache instance, is instead ignored, as Google App Engine deals with > the sharding transparently. namespace An optional namespace for the key. > > The return value is the value of the key, if found in memcache, else None. > > On Wed, Feb 22, 2012 at 5:59 PM, Brian Quinlan <bquin...@google.com>wrote: > >> Hi Rishi, >> >> On Thu, Feb 23, 2012 at 10:50 AM, Rishi Arora <rishi.ar...@ship-rack.com> >> wrote: >> > I'm not sure what memcache.get() is expecting that should be a string or >> > unicode but is an int instead: >> > >> > example: >> > return memcache.get(key='PackageStatusMap', namespace=NS_Generic) >> > >> > The key is a string, and the namespace is an integer. Should the >> namespace >> > be a string? >> >> Yes, the namespace should be a string or Unicode object. >> >> Cheers, >> Brian >> >> > Interestingly, when I executed the same command from a remote API >> session, >> > all went well, and no errors were reported. >> > >> > >> > On Wed, Feb 22, 2012 at 5:44 PM, Rishi Arora <rishi.ar...@ship-rack.com >> > >> > wrote: >> >> >> >> For the last 30 minutes or so, my application (app id shiprack-test1) >> is >> >> getting these errors sourced to a memcache.get() - see stack trace >> below. >> >> My app has M/S datastore and a python2.5 runtime. My app is >> essentially >> >> out-of-service now. Anybody seen this? >> >> >> >> File >> >> >> "/base/python_runtime/python_lib/versions/1/google/appengine/api/memcache/__init__.py", >> >> line 562, in get >> >> rpc = self.get_multi_async([key], namespace=namespace, >> >> for_cas=for_cas) >> >> File >> >> >> "/base/python_runtime/python_lib/versions/1/google/appengine/api/memcache/__init__.py", >> >> line 615, in get_multi_async >> >> self.__get_hook, user_key) >> >> File >> >> >> "/base/python_runtime/python_lib/versions/1/google/appengine/api/memcache/__init__.py", >> >> line 385, in _make_async_call >> >> rpc.make_call(method, request, response, get_result_hook, >> user_data) >> >> File >> >> >> "/base/python_runtime/python_lib/versions/1/google/appengine/api/apiproxy_stub_map.py", >> >> line 509, in make_call >> >> self.__rpc.MakeCall(self.__service, method, request, response) >> >> File >> >> >> "/base/python_runtime/python_lib/versions/1/google/appengine/api/apiproxy_rpc.py", >> >> line 115, in MakeCall >> >> self._MakeCallImpl() >> >> File >> >> >> "/base/python_runtime/python_lib/versions/1/google/appengine/runtime/apiproxy.py", >> >> line 161, in _MakeCallImpl >> >> request_data = self.request.SerializeToString() >> >> File >> >> >> "/base/python_runtime/python_lib/versions/1/google/net/proto/ProtocolBuffer.py", >> >> line 60, in SerializeToString >> >> return self.Encode() >> >> File >> >> >> "/base/python_runtime/python_lib/versions/1/google/net/proto/ProtocolBuffer.py", >> >> line 53, in Encode >> >> return self._CEncode() >> >> File >> >> >> "/base/python_runtime/python_lib/versions/1/google/appengine/api/memcache/memcache_service_pb.py", >> >> line 430, in _CEncode >> >> return _net_proto___parse__python.Encode(self, >> >> 'apphosting.MemcacheGetRequest') >> >> TypeError: expected string or Unicode object, int found >> > >> > >> > -- >> > You received this message because you are subscribed to the Google >> Groups >> > "Google App Engine" group. >> > To post to this group, send email to google-appengine@googlegroups.com. >> > To unsubscribe from this group, send email to >> > google-appengine+unsubscr...@googlegroups.com. >> > For more options, visit this group at >> > http://groups.google.com/group/google-appengine?hl=en. >> >> -- >> You received this message because you are subscribed to the Google Groups >> "Google App Engine" group. >> To post to this group, send email to google-appengine@googlegroups.com. >> To unsubscribe from this group, send email to >> google-appengine+unsubscr...@googlegroups.com. >> For more options, visit this group at >> http://groups.google.com/group/google-appengine?hl=en. >> >> > -- You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.