I have been seeing a weird but repeatable appstats problem.  I think
it's an appstats bug. I will try to describe the problem without
sounding like I'm on drugs.

I noticed that a (non-gwt) servlet would hang— still show that it was
loading, not display a full response— when and only when I had
appstats enabled locally. I could see from log messages that the
servlet itself had stepped through all its code properly— the issue
was related to displaying the response.  Without appstats, all was
well.

After a long process of elimination, it seems that the hang problem is
related to making "too many" Datastore queries in the servlet code,
where "too many" is related to how big the entity is.  For example,
entities of kind "ClassA" include a fairly large blob/serialized
field.  For ClassA, 2 queries in the servlet is too many, as indicated
in this test servlet:

  http://pastie.textmate.org/private/r6qcmgeyvd68ufa68nq

If I change the for loop test from 1 to 2, the servlet 'hangs' in the
browser (with appstats enabled locally), and the "arghh" is never
displayed in the browser.  However, I DO see the "generated response"
println in the log.

"ClassB" has entities of smaller size.
I changed the test code to first make N queries on ClassB, then one
query on ClassA, as in this example:
 http://pastie.textmate.org/private/oyjstovxrjfmnqk4uqklaa

I found that if N=5, all is well, and if N = 6, there is the same
'hang' (with appstats enabled), with the "arghh" not displayed in the
browser but the println reached.
N is dependent upon the particular "ClassB" used, so again I assume
there is some relationship to entity size.

Again, both these test servlets run fine without appstats enabled.
There were around 10 entities of both ClassA and ClassB in the local
Datastore when I did these tests.

When there is an appstats 'hang', the servlet request (that hung) is
not listed in the appstats stats info.

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine for Java" 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-java?hl=en.

Reply via email to