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.

Reply via email to