Hi,
Since the maintenance yesterday, I cannot read some specific items
from my datastore, using remote_api. The requests fail with HTTP Error
500: Internal Server Error, after 4 attempts by appengine_rpc.py. My
app is called scoretool, and the broken kind is called dns_lookup.
The oldest 4 entities were readable, so I updated them one by one, now
the broken entity is the oldest one, and I cannot get past it.
Traceback summary (full traceback at the bottom of this message).
Please note I'm not even trying to fetch data, only the keys from the
index.
--------------------------8<---snip--------------------------
>>> Lookup.all(keys_only=True).order('timestamp').get()
DEBUG 2010-02-18 16:20:45,745 appengine_rpc.py:345] Sending HTTP
request:
DEBUG 2010-02-18 16:21:15,313 appengine_rpc.py:351] Got http error,
this is try #1
DEBUG 2010-02-18 16:21:44,828 appengine_rpc.py:351] Got http error,
this is try #2
DEBUG 2010-02-18 16:22:23,283 appengine_rpc.py:351] Got http error,
this is try #3
DEBUG 2010-02-18 16:22:52,873 appengine_rpc.py:351] Got http error,
this is try #4
ERROR: An unexpected error occurred while tokenizing input
The following traceback may be corrupted or invalid
The error message is: ('EOF in multi-line statement', (19, 0))
... Traceback ...
HTTPError: HTTP Error 500: Internal Server Error
--------------------------8<---snap--------------------------
The same problem happens if I try to read more than one entity:
Lookup.all(keys_only=True).order('timestamp').fetch(10)
Lookup.all(keys_only=True).order('timestamp').fetch(10, offset=300)
However, similar requests are working if they're using other indexes,
or other models.
Reverse order is okay:
Lookup.all(keys_only=True).order('-timestamp').get()
Different index is okay:
Lookup.all(keys_only=True).order('backwards').fetch(10)
Different model is okay:
Domain.all(keys_only=True).order('timestamp').get()
Full traceback from iPython:
In [8]: Lookup.all(keys_only=True).order('timestamp').get()
DEBUG 2010-02-18 16:20:45,745 appengine_rpc.py:345] Sending HTTP
request:
POST /remote_api_hidden? HTTP/1.1
Host: scoretool.appspot.com
X-appcfg-api-version: 1
Content-type: application/octet-stream
User-agent: Google-remote_api/1.0 Darwin/9.8.0 Python/2.5.1.final.0
DEBUG 2010-02-18 16:21:15,313 appengine_rpc.py:351] Got http error,
this is try #1
DEBUG 2010-02-18 16:21:15,313 appengine_rpc.py:345] Sending HTTP
request:
POST /remote_api_hidden? HTTP/1.1
Host: scoretool.appspot.com
X-appcfg-api-version: 1
Content-type: application/octet-stream
User-agent: Google-remote_api/1.0 Darwin/9.8.0 Python/2.5.1.final.0
DEBUG 2010-02-18 16:21:44,828 appengine_rpc.py:351] Got http error,
this is try #2
DEBUG 2010-02-18 16:21:44,828 appengine_rpc.py:345] Sending HTTP
request:
POST /remote_api_hidden? HTTP/1.1
Host: scoretool.appspot.com
X-appcfg-api-version: 1
Content-type: application/octet-stream
User-agent: Google-remote_api/1.0 Darwin/9.8.0 Python/2.5.1.final.0
DEBUG 2010-02-18 16:22:23,283 appengine_rpc.py:351] Got http error,
this is try #3
DEBUG 2010-02-18 16:22:23,283 appengine_rpc.py:345] Sending HTTP
request:
POST /remote_api_hidden? HTTP/1.1
Host: scoretool.appspot.com
X-appcfg-api-version: 1
Content-type: application/octet-stream
User-agent: Google-remote_api/1.0 Darwin/9.8.0 Python/2.5.1.final.0
DEBUG 2010-02-18 16:22:52,873 appengine_rpc.py:351] Got http error,
this is try #4
ERROR: An unexpected error occurred while tokenizing input
The following traceback may be corrupted or invalid
The error message is: ('EOF in multi-line statement', (19, 0))
---------------------------------------------------------------------------
HTTPError Traceback (most recent call
last)
/Users/johann/src/nxdom/<ipython console> in <module>()
/Applications/GoogleAppEngineLauncher.app/Contents/Resources/
GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/
google/appengine/ext/db/__init__.pyc in get(self, **kwargs)
1562 """
1563 rpc = datastore.GetRpcFromKwargs(kwargs)
-> 1564 results = self.fetch(1, rpc=rpc)
1565 try:
1566 return results[0]
/Applications/GoogleAppEngineLauncher.app/Contents/Resources/
GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/
google/appengine/ext/db/__init__.pyc in fetch(self, limit, offset,
**kwargs)
1614
1615 raw_query = self._get_query()
-> 1616 raw = raw_query.Get(limit, offset, rpc=rpc)
1617
1618 if self._compile:
/Applications/GoogleAppEngineLauncher.app/Contents/Resources/
GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/
google/appengine/api/datastore.pyc in Get(self, limit, offset,
**kwargs)
1181
1182 return self._Run(
-> 1183 limit=limit, offset=offset, prefetch_count=limit,
**kwargs)._Get(limit)
1184
1185 def Count(self, limit=None, **kwargs):
/Applications/GoogleAppEngineLauncher.app/Contents/Resources/
GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/
google/appengine/api/datastore.pyc in _Run(self, limit, offset,
prefetch_count, next_count, **kwargs)
1108 try:
1109 result = _MakeSyncCall('datastore_v3', 'RunQuery',
request,
-> 1110 datastore_pb.QueryResult(), rpc)
1111 except apiproxy_errors.ApplicationError, err:
1112 try:
/Applications/GoogleAppEngineLauncher.app/Contents/Resources/
GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/
google/appengine/api/datastore.pyc in _MakeSyncCall(service, call,
request, response, rpc)
175 rpc.make_call(call, request, response)
176 rpc.wait()
--> 177 rpc.check_success()
178 return response
179
/Applications/GoogleAppEngineLauncher.app/Contents/Resources/
GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/
google/appengine/api/apiproxy_stub_map.pyc in check_success(self)
472 self.wait()
473 try:
--> 474 self.__rpc.CheckSuccess()
475 except Exception, err:
476 if not self.__postcall_hooks_called:
/Applications/GoogleAppEngineLauncher.app/Contents/Resources/
GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/
google/appengine/api/apiproxy_rpc.pyc in _WaitImpl(self)
147 try:
148 self.stub.MakeSyncCall(self.package, self.call,
--> 149 self.request, self.response)
150 except Exception:
151 _, self.__exception, self.__traceback = sys.exc_info()
/Applications/GoogleAppEngineLauncher.app/Contents/Resources/
GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/
google/appengine/ext/remote_api/remote_api_stub.pyc in
MakeSyncCall(self, service, call, request, response)
221 handler = getattr(self, '_Dynamic_' + call, None)
222 if handler:
--> 223 handler(request, response)
224 else:
225 super(RemoteDatastoreStub, self).MakeSyncCall(service,
call, request,
/Applications/GoogleAppEngineLauncher.app/Contents/Resources/
GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/
google/appengine/ext/remote_api/remote_api_stub.pyc in
_Dynamic_RunQuery(self, query, query_result, cursor_id)
230 def _Dynamic_RunQuery(self, query, query_result, cursor_id =
None):
231 super(RemoteDatastoreStub, self).MakeSyncCall(
--> 232 'datastore_v3', 'RunQuery', query, query_result)
233
234 if cursor_id is None:
/Applications/GoogleAppEngineLauncher.app/Contents/Resources/
GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/
google/appengine/ext/remote_api/remote_api_stub.pyc in
MakeSyncCall(self, service, call, request, response)
153 test_stub.MakeSyncCall(service, call, request,
response)
154 else:
--> 155 self._MakeRealSyncCall(service, call, request,
response)
156 finally:
157 self._PostHookHandler(service, call, request, response)
/Applications/GoogleAppEngineLauncher.app/Contents/Resources/
GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/
google/appengine/ext/remote_api/remote_api_stub.pyc in
_MakeRealSyncCall(self, service, call, request, response)
165 response_pb = remote_api_pb.Response()
166 encoded_request = request_pb.Encode()
--> 167 encoded_response = self._server.Send(self._path,
encoded_request)
168 response_pb.ParseFromString(encoded_response)
169
/Applications/GoogleAppEngineLauncher.app/Contents/Resources/
GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/
google/appengine/tools/appengine_rpc.pyc in Send(self, request_path,
payload, content_type, timeout, **kwargs)
344 logger.debug('Sending HTTP request:\n%s' %
345 HttpRequestToString(req,
include_data=self.debug_data))
--> 346 f = self.opener.open(req)
347 response = f.read()
348 f.close()
/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/
urllib2.pyc in open(self, fullurl, data)
378 for processor in self.process_response.get(protocol,
[]):
379 meth = getattr(processor, meth_name)
--> 380 response = meth(req, response)
381
382 return response
/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/
urllib2.pyc in http_response(self, request, response)
489 if code not in (200, 206):
490 response = self.parent.error(
--> 491 'http', request, response, code, msg, hdrs)
492
493 return response
/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/
urllib2.pyc in error(self, proto, *args)
416 if http_err:
417 args = (dict, 'default', 'http_error_default') +
orig_args
--> 418 return self._call_chain(*args)
419
420 # XXX probably also want an abstract factory that knows when
it makes
/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/
urllib2.pyc in _call_chain(self, chain, kind, meth_name, *args)
351 func = getattr(handler, meth_name)
352
--> 353 result = func(*args)
354 if result is not None:
355 return result
/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/
urllib2.pyc in http_error_default(self, req, fp, code, msg, hdrs)
497 class HTTPDefaultErrorHandler(BaseHandler):
498 def http_error_default(self, req, fp, code, msg, hdrs):
--> 499 raise HTTPError(req.get_full_url(), code, msg, hdrs,
fp)
500
501 class HTTPRedirectHandler(BaseHandler):
HTTPError: HTTP Error 500: Internal Server Error
--
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.