Closed GoogleCodeExporter closed 9 years ago
Oh, btw: the way I can see that it's trying to contact qserv.appspot.com is
that that's what the "Host" HTTP request header declares. The IP just seems to
be for a nearby generic google frontend server... just going to that IP in a
browser gets you to google.com.
Original comment by naesten
on 10 Jun 2010 at 3:11
Oh, but it turns out that listing the available Internet servers uses the same
Host: header, but works ... so I guess it's just qserv itself failing
intermittently or something?
Original comment by naesten
on 10 Jun 2010 at 3:19
I can't look at this right know, but qserv.appspot.com is indeed the right
place, and it should indeed go to a nearby Google frontend server. Going to
just the IP might not work (it's a virtual host, routed based on the Host
header, as you noted), but using the URI should work. For example:
http://qserv.appspot.com/qserv/?data=gethighscores
App Engine hosting (*.appspot.com) does have some issues with timing out
sometimes when the requests or replies are somewhat large (and the highscore
request returns the demos for the top games, somewhat big). The protocol is a
bit old-school, and modern multi-layered setups like App Engine's have trouble
with it a bit.
Original comment by pphaneuf
on 10 Jun 2010 at 5:48
It seems to me like Quadra ought to be reporting the HTTP error code somehow.
And like Google ought to give a slightly less opaque error than that...
Strangely, when I try the URL above in a browser, I see something much
different from the error that Quadra recieves. Could it be that there is
actually something wrong/misunderstood about some of the other stuff that
Quadra includes in its POST request?
Original comment by naesten
on 10 Jun 2010 at 9:34
Original comment by pphaneuf
on 11 Jun 2010 at 2:58
Some more information from the server side, for information purpose (I'm
looking into this):
<type 'exceptions.UnicodeDecodeError'>: 'ascii' codec can't decode byte 0xf8 in
position 142: ordinal not in range(128)
Traceback (most recent call last):
File "/base/data/home/apps/qserv/1.338386057745212306/main.py", line 13, in main
run_wsgi_app(application)
File "/base/python_runtime/python_lib/versions/1/google/appengine/ext/webapp/util.py", line 97, in run_wsgi_app
run_bare_wsgi_app(add_wsgi_middleware(application))
File "/base/python_runtime/python_lib/versions/1/google/appengine/ext/webapp/util.py", line 115, in run_bare_wsgi_app
result = application(env, _start_response)
File "/base/python_runtime/python_lib/versions/1/google/appengine/ext/webapp/__init__.py", line 531, in __call__
response.wsgi_write(start_response)
File "/base/python_runtime/python_lib/versions/1/google/appengine/ext/webapp/__init__.py", line 244, in wsgi_write
body = self.out.getvalue()
File "/base/python_runtime/python_dist/lib/python2.5/StringIO.py", line 270, in getvalue
self.buf += ''.join(self.buflist)
Original comment by pphaneuf
on 11 Jun 2010 at 3:05
I'm a bit stumped about what's going on here. It seems related to using the
get() method on a dictionary, at line 115 of qserv.py (you can "fix" your query
by removing the "%0Anum%205" from it). I hardcoded this value at 5, which is
what Quadra passes in, but I'm trying to figure out where this comes from.
Original comment by pphaneuf
on 11 Jun 2010 at 4:53
To be clearer, it should work now. And you're right, there's many things Quadra
could do much better, but we have many other priorities, unfortunately, this is
a bit of an old project... :-(
Original comment by pphaneuf
on 11 Jun 2010 at 4:55
Ok, I think r753 should fix this, if not, feel free to re-open this issue.
Original comment by pphaneuf
on 11 Jun 2010 at 5:13
Yup, that fixed it. And yeah, I realize this is an old project which nobody is
likely to get payed for working on ;-).
Original comment by naesten
on 12 Jun 2010 at 12:53
Original issue reported on code.google.com by
naesten
on 10 Jun 2010 at 3:07Attachments: