[appengine-java] Re: Javaland scheduler behavior
Hi Jeff, Check this post : https://groups.google.com/forum/#!msg/google-appengine/3t5muVhXajg/SSFU-udjIhwJ Setting Idle instances to automatic, as Johan Euphrosine suggested, seems to have solved the problem, at least temporarily (I was at 1 minimum and 1 maximum before). I'm just a bit scared now to get over my daily quotas. François On Tuesday, February 28, 2012 5:34:36 PM UTC+1, Jeff Schnitzer wrote: There's been a lot of discussion of the scheduler behavior in Pythonland, but not much about it's eccentricities in Javaland. I have a threadsafe=true Java app. Let's say every request completes in exactly 1s. Settings are: idle instances min 1 max 1, latency auto/auto. Here is what I expect: * Instance1 starts up and becomes permanently resident * Instance1 serves concurrent requests up to some arbitrary CPU capcity * When Instance1 exceeds capacity: * Instance2 starts warming up * All requests remain in the pending queue for Instance1, getting processed at 1/s * concurrency * Instance2 is ready and starts processing new requests, sharing the load with Instance1 What I actually see (as far as I can determine): * Instance1 starts up and becomes permanently resident * Instance1 supports almost no concurrency. At most it's 2. (no, my app is not particularly compute intensive) * A new request comes in which for some reason can't be handled by Instance1: * Instance2 starts warming up * The new request is blocked on Instance2's pending queue, waiting 10-20s for Instance2 to be ready * In the mean time, Instance1 is actually idle * Another new request comes in and starts up Instance3 * Possibly this is while Instance2 is warming up * AFAICT, Instance1 is taking a coffee break The net result is that I have an idle website with 1 user (me) clicking around and I've already gotten multiple 20s pauses and three instances. Something is seriously wrong here. Whether or not it's rational to have so many instances started, pending requests shouldn't be shunted to non-warmed-up servers, right? I've tried upping the min latency to a high value to see if this improves the situation. If this works... shouldn't min latency *always* be as high as the startup time for an instance? I know it's been said before, but it needs to be said again... the guidance for scheduler configuration is really, really inadequate. Jeff -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine-java/-/zULJyO6VtHwJ. To post to this group, send email to google-appengine-java@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
Re: [appengine-java] Re: Javaland scheduler behavior
Yep noticed that too since a few days. But no good explanations for the moment. François On Tue, Feb 28, 2012 at 18:25, Jeff Schnitzer j...@infohazard.org wrote: Thanks for the link. This doesn't directly address the main point I'm worried about though: * Why does any user-facing request ever sit in the pending queue for an instance that is warming-up when there is a perfectly good instance sitting there? My problem is not that GAE is spinning up new instances. My problem is that users are waiting for it. There's an instance sitting there with a low wait time in the pending queue - why is GAE shunting new requests to instances with an effective 10-20s wait time instead? Jeff On Tue, Feb 28, 2012 at 12:00 PM, Francois Masurel f.masu...@gmail.comwrote: Hi Jeff, Check this post : https://groups.google.com/forum/#!msg/google-appengine/3t5muVhXajg/SSFU-udjIhwJ Setting Idle instances to automatic, as Johan Euphrosine suggested, seems to have solved the problem, at least temporarily (I was at 1 minimum and 1 maximum before). I'm just a bit scared now to get over my daily quotas. François On Tuesday, February 28, 2012 5:34:36 PM UTC+1, Jeff Schnitzer wrote: There's been a lot of discussion of the scheduler behavior in Pythonland, but not much about it's eccentricities in Javaland. I have a threadsafe=true Java app. Let's say every request completes in exactly 1s. Settings are: idle instances min 1 max 1, latency auto/auto. Here is what I expect: * Instance1 starts up and becomes permanently resident * Instance1 serves concurrent requests up to some arbitrary CPU capcity * When Instance1 exceeds capacity: * Instance2 starts warming up * All requests remain in the pending queue for Instance1, getting processed at 1/s * concurrency * Instance2 is ready and starts processing new requests, sharing the load with Instance1 What I actually see (as far as I can determine): * Instance1 starts up and becomes permanently resident * Instance1 supports almost no concurrency. At most it's 2. (no, my app is not particularly compute intensive) * A new request comes in which for some reason can't be handled by Instance1: * Instance2 starts warming up * The new request is blocked on Instance2's pending queue, waiting 10-20s for Instance2 to be ready * In the mean time, Instance1 is actually idle * Another new request comes in and starts up Instance3 * Possibly this is while Instance2 is warming up * AFAICT, Instance1 is taking a coffee break The net result is that I have an idle website with 1 user (me) clicking around and I've already gotten multiple 20s pauses and three instances. Something is seriously wrong here. Whether or not it's rational to have so many instances started, pending requests shouldn't be shunted to non-warmed-up servers, right? I've tried upping the min latency to a high value to see if this improves the situation. If this works... shouldn't min latency *always* be as high as the startup time for an instance? I know it's been said before, but it needs to be said again... the guidance for scheduler configuration is really, really inadequate. Jeff -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine-java/-/zULJyO6VtHwJ. To post to this group, send email to google-appengine-java@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en. -- 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 google-appengine-java@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en. -- 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 google-appengine-java@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
Re: [appengine-java] Re: OpenId Provider using java
You are supposed to have something like this in your application web.xml : servlet-mapping servlet-nameproviderServlet/servlet-name url-pattern/authenticate/url-pattern /servlet-mapping http://code.google.com/p/joid/source/browse/trunk/examples/openid-provider/src/main/webapp/WEB-INF/web.xml On Wed, Feb 1, 2012 at 14:12, TG gae.ic2...@gmail.com wrote: I tried to create a project with the example of openid-provider in http://code.google.com/p/joid/source/browse/#svn%2Ftrunk%2Fexamples%2Fopenid-provider but I got the error *The requested resource (/authenticate) is not available.* in *http://localhost:8080/authenticate* * * What I have to do? Do I ha to do the server installation? http://code.google.com/p/joid/wiki/ServerInstallation * * I'm running on Tomcat in Eclipse. * * * * -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine-java/-/q7FjScAdGjwJ. To post to this group, send email to google-appengine-java@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en. -- 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 google-appengine-java@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
[appengine-java] Re: Datastore Admin and federated login
In fact, it seems that my browser blocked the openid url for some security reasons related to being in an iframe. I just had to open this url in a new tab to solve the problem. Francois -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine-java/-/Uh7r6u5b0JIJ. To post to this group, send email to google-appengine-java@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
[appengine-java] Re: OpenId Provider using java
I've successfully built an OpenId provider on GAE Java using this project as a starting point : http://code.google.com/p/joid/ I added some connectors to enable users to log in using their social networks accounts (Twitter, Facebook, Foursquare, LinkedIn, etc.) as well as Mozilla BrowserId. Francois -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine-java/-/yXgdzmKglRMJ. To post to this group, send email to google-appengine-java@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
[appengine-java] Re: AppEngine JVM Memory queries
I would also like to have more detailled information about memory usage in the administration console. The memory counter keeps increasing constantly for one of my app (vncts1). It looks like I'm being hit by a memory leak. But when I profile my app locally on the dev server, there is no such memory usage increase, it stays quite stable at about 25 MB. On GAE my app memory usage can go up to 120 MB for my resident instance in less than one day. Any help will be greatly appreciated. François -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine-java/-/WbvdWPLCPqAJ. To post to this group, send email to google-appengine-java@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
[appengine-java] Re: .A research: how long will your java app instance start up fully?
Between 5s and 10s, about 10s most of the time. Using quite a few libraries, but no spring, struts or other heavy MVC framework. Francois -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine-java/-/2QG3YyOmbP8J. To post to this group, send email to google-appengine-java@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
[appengine-java] Re: HELP PLEASE! Bug!
Hi Bruno, I don't think it's related to AppEngine. I've found this after a quick search on Google : It means that you compiled your classes under a specific JDK, but then try to run them under older version of JDK. So, you can't run classes compiled with JDK 6.0 under JDK 5.0. The same with classes compiled under JDK 7.0 when you try to run them under JDK 6.0. Hoping it will help. Francois -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine-java/-/R9yXLwV0Dr8J. To post to this group, send email to google-appengine-java@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
[appengine-java] Re: sending pdf
Hi Vik, I'm using PDFJet to generate simple PDFs on GAE/Java. Francois -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine-java/-/M-kdi8piGmcJ. To post to this group, send email to google-appengine-java@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
[appengine-java] Re: threads per instance (Java)
I just asked a similar question here : http://code.google.com/p/googleappengine/issues/detail?id=5414#c31 You might want to file a documentation bug. Francois -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine-java/-/9ZAfI-fsiYAJ. To post to this group, send email to google-appengine-java@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
[appengine-java] Re: Always On not working properly
Yep same here, lots of warmup requests and slow responses to users. Quite costly CPU wise too. Really annoying. Francois -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine-java/-/dZHHrNMWGx8J. To post to this group, send email to google-appengine-java@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
Re: [appengine-java] DeadlineExceededException on Jetty session loading
Hi Don, I was just wondering : could these buggy DeadlineExceededExceptions cause a memory leak ? I've seen my instance take up to 134MB just running 2 simple datastore queries (DeadlineExceededException) every minute. Do you know when will the next SDK version be released ? BTW, it looks like I get these deadline exceptions every 500 datastore api calls, quite far from the every 3000 announced. Thanx for your help. Francois -- 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 google-appengine-java@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
Re: [appengine-java] DeadlineExceededException on Jetty session loading
If anyone interested at Google, I can reproduce this strange behavior quite easily. Francois -- 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 google-appengine-java@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
Re: [appengine-java] DeadlineExceededException on Jetty session loading
Hi Don, My appId is : vncts1 It's bugging at the moment. Thanx for your help. Francois On Fri, May 20, 2011 at 18:31, Don Schwarz schwa...@google.com wrote: This is very strange. What is your app id? On Fri, May 20, 2011 at 7:55 AM, Francois Masurel f.masu...@gmail.comwrote: And here is how it goes when everything is normal... (cf. attachment) -- 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 google-appengine-java@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en. -- 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 google-appengine-java@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en. -- 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 google-appengine-java@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
Re: [appengine-java] DeadlineExceededException on Jetty session loading
The faulty instance was restarted so everything went back to normal. I just flushed my cache and reloaded about 20 pages to reproduce the bug. Francois -- 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 google-appengine-java@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
Re: [appengine-java] DeadlineExceededException on Jetty session loading
Happy to be able to help. In fact, I just put in place all this catches to avoid instance restart which causes lots of error 500 and get my site unreachable for a few seconds each time it happens. Do you mean that all these strange DeadlineExceededExceptions will disappear with next SDK version ? Thanx for all. Francois -- 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 google-appengine-java@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
Re: [appengine-java] DeadlineExceededException on Jetty session loading
I've been able to lower the impact of these datastore DeadlineExceededException by setting a global datastore deadline using : http://code.google.com/appengine/docs/java/javadoc/com/google/appengine/api/datastore/DatastoreServiceConfig.html I just catch the ApiProxy$ApiDeadlineExceededException being thrown and reload the page using a redirect. It works ok. But sadly, there doesn't seem to be a way to do the same thing for deadline exceptions thrown during Jetty session loading, I'm stuck. I really want to avoid these annoying instance restarts that kill my application. Any help will be greatly appreciated. Francois -- 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 google-appengine-java@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
Re: [appengine-java] DeadlineExceededException on Jetty session loading
I just found something rather strange : After setting a 10 seconds deadline on my datastore service and setting a page reload when deadline exceptions are thrown, I got caught in an infinite loop : pages were reloading for several minutes until a background task using a datastore service without deadline caused an instance restart. And no new instance were created during all this time, this quite suprised me. These pages load in less than 400ms in normal conditions. There is definitely something going wrong. Francois -- 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 google-appengine-java@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
[appengine-java] Java instances memory usage
Hi everybody, I would like to know how much memory space do your Java instances use. Mines use from 75 to 90 MB of memory on average basis. Future billing rules might make these numbers more important than they are today. Thanx for your help. Francois -- 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 google-appengine-java@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
[appengine-java] DeadlineExceededException on Jetty session loading
Hey Googlers, Do you know why we get these DeadlineExceededException when Jetty's trying to load session data from the datastore ? It looks like a bug as there is only Google App Engine code being executed here (see stacktrace below). And (still haven't got an answer about that) why does it have to kill and restart the instance when such exceptions occurs ? Doesn't seem to be optimal in threadsafe mode. Thanx for your help. Francois 1. 2011-05-17 02:00:14.483 Nested in javax.servlet.ServletException: com.google.apphosting.api.DeadlineExceededException: This request (fb27bd896bd3c1f8) started at 2011/05/17 08:59:44.654 UTC and was still executing at 2011/05/17 09:00:14.465 UTC.: com.google.apphosting.api.DeadlineExceededException: This request (fb27bd896bd3c1f8) started at 2011/05/17 08:59:44.654 UTC and was still executing at 2011/05/17 09:00:14.465 UTC. at sun.misc.Unsafe.park(Native Method) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:226) at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedNanos(AbstractQueuedSynchronizer.java:1037) at java.util.concurrent.locks.AbstractQueuedSynchronizer.tryAcquireSharedNanos(AbstractQueuedSynchronizer.java:1326) at com.google.common.util.concurrent.AbstractFuture$Sync.get(AbstractFuture.java:232) at com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:69) at com.google.appengine.tools.development.TimedFuture.get(TimedFuture.java:41) at com.google.common.util.concurrent.ForwardingFuture.get(ForwardingFuture.java:64) at com.google.appengine.api.utils.FutureWrapper.get(FutureWrapper.java:67) at com.google.appengine.api.datastore.FutureHelper$CumulativeAggregateFuture.get(FutureHelper.java:136) at com.google.appengine.api.datastore.FutureHelper.getInternal(FutureHelper.java:71) at com.google.appengine.api.datastore.FutureHelper.quietGet(FutureHelper.java:32) at com.google.appengine.api.datastore.DatastoreServiceImpl$1.runInternal(DatastoreServiceImpl.java:78) at com.google.appengine.api.datastore.DatastoreServiceImpl$1.runInternal(DatastoreServiceImpl.java:75) at com.google.appengine.api.datastore.TransactionRunner.runInTransaction(TransactionRunner.java:31) at com.google.appengine.api.datastore.DatastoreServiceImpl.get(DatastoreServiceImpl.java:75) at com.google.appengine.api.datastore.DatastoreServiceImpl.get(DatastoreServiceImpl.java:62) at com.google.apphosting.runtime.jetty.SessionManager.loadSession(SessionManager.java:318) at com.google.apphosting.runtime.jetty.SessionManager.getSession(SessionManager.java:288) at org.mortbay.jetty.servlet.AbstractSessionManager.getHttpSession(AbstractSessionManager.java:237) at org.mortbay.jetty.servlet.SessionHandler.setRequestedId(SessionHandler.java:246) at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:136) at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765) at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418) at com.google.apphosting.runtime.jetty.AppVersionHandlerMap.handle(AppVersionHandlerMap.java:238) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) at org.mortbay.jetty.Server.handle(Server.java:326) at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542) at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:923) at com.google.apphosting.runtime.jetty.RpcRequestParser.parseAvailable(RpcRequestParser.java:76) at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404) at com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceRequest(JettyServletEngineAdapter.java:135) at com.google.apphosting.runtime.JavaRuntime.handleRequest(JavaRuntime.java:260) at com.google.apphosting.base.RuntimePb$EvaluationRuntime$2.handleRequest(RuntimePb.java:9669) at com.google.net.rpc.impl.RpcUtil.runRpcInApplication(RpcUtil.java:439) at com.google.net.rpc.impl.Server$RpcTask.runInContext(Server.java:573) at com.google.tracing.TraceContext$TraceContextRunnable$1.run(TraceContext.java:448) at com.google.tracing.TraceContext.runInContext(TraceContext.java:688) at com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContextNoUnref(TraceContext.java:326) at com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContext(TraceContext.java:318) at com.google.tracing.TraceContext$TraceContextRunnable.run(TraceContext.java:446) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) at
Re: [appengine-java] DeadlineExceededException on Jetty session loading
Hi Don, Thanx for your answer. Actually I'm testing an HR application and I get these errors quite often on load increase. Could you explain why datastore entity are unavailable periodically ? And why we have to wait 30s to know that these entities are unavailable ? What is really annoying is that when an instance is restarted all pending requests/threads are also stopped which results in a lot of additionnal errors. And when you had only one instance running, all further requests throw 500 errors while we are waiting for a new instance to be started. I really hope you'll find a more optimal way to manage DeadlineExceededException. I've filed a bug : http://code.google.com/p/googleappengine/issues/detail?id=5066 Thanx again for your help. Francois -- 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 google-appengine-java@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
[appengine-java] DeadlineExceededException and instance restart
Why do DeadlineExceededException always cause an instance restart even if properly catched ? My instances are quite slow to start since 1.5.0 and I get a lot of errors 500 then. Thanx for your help. François -- 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 google-appengine-java@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
[appengine-java] Re: Backup restore of my app - Is this really a joke or am I missing something?
You might be interested in this issue : http://code.google.com/p/googleappengine/issues/detail?id=776 Francois -- 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 google-appengine-java@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
Re: [appengine-java] Re: is it possible to use Java 7 on GAE ?
Ok, Ikai, thanx for your answer. -- 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 google-appengine-java@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
[appengine-java] Re: My site is very latency now, even if 3 always on instances are running.
Yep, same for me, and quite a few datastore timeouts. Annoying. Francois -- 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 google-appengine-java@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
[appengine-java] Re: Datastore Backup and Restore (for Java)
Actually there is a problem is you store content keys as string in the datastore. They can't be imported back in another application because keys are application prefixed. I was hit by this problem and I'm still stuck to my old application that I can't rename. I think GAE really miss an easy to use backup/restore tool. I know that it's probably quite complex to implement though. You can star this issue : http://code.google.com/p/googleappengine/issues/detail?id=776 -- 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 google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
[appengine-java] Re: Files Limitation 3000
Hi Ravi, I'm putting all the generated GWT files in a zip file and I'm serving them with a specific servlet. It works fine and even allows me to do some GWT versioning : /gwt module = servlet/version/path to gwt file Remember that, if you change the default GWT module path (like adding a version number in it), you need to override the RemoteServiceServlet#doGetSerializationPolicy method. Francois On 12 déc, 22:55, Ravi ravisan...@gmail.com wrote: Hello, After adding ExtJS GWT, the files count went to about 3500 after compilation. I am unable to deploy the project as GAE has a limit of 3000. I can put the java classes in JAR file, but the what can I do about the static files ? How can I overcome this problem ? Thanks, Ravi -- 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 google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
[appengine-java] Re: How can i store an image to a blobstore without using a form?
It looks like it's on the roadmap now : Programatic Blob creation in Blobstore http://code.google.com/appengine/docs/roadmap.html Francois On Nov 21, 5:09 pm, Max 6738...@gmail.com wrote: I would like to do this also. I am currently storing files as byte[] but I receive corrupted files about 5% of the time and it is seemingly random. I'm using Objectify and I think it translates the byte[] to a Blob but doesn't use the Blobstore. I believe it would be possible using the Apache HTTP library (or URL Fetch). I use the Apache library to POST a file to a URL and retrieve the response. See below. If anyone has sample code, that would be great. thx MG HttpParams params = new BasicHttpParams(); HttpClient httpClient = new DefaultHttpClient(new GAEConnectionManager(), params); HttpPost post = new HttpPost(https://www.ocrterminal.com/api/submit.cgi?version=1.0username=...;); HttpProtocolParamBean paramsBean = new HttpProtocolParamBean(params); paramsBean.setUserAgent(APIClient:bdrenv); post.setParams(params); MultipartEntity mpEntity = new MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE); mpEntity.addPart(upload, new InputStreamKnownSizeBody(new ByteArrayInputStream(body), body.length, contentType, filename)); post.setEntity(mpEntity); HttpResponse response = httpClient.execute(post); HttpEntity entity = response.getEntity(); String responseString = EntityUtils.toString(entity); On Nov 21, 2010, at 8:52 AM, acellam guy wrote: is it possible??? -- 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 google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group athttp://groups.google.com/group/google-appengine-java?hl=en. -- 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 google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
[appengine-java] Re: 500 Server Error (Dashboard)
And the latency is not so good today : http://code.google.com/status/appengine/detail/serving-java/2010/11/12#ae-trust-detail-helloworld-get-java-latency Some of my pages are suddenly loading very slowly without any reason (and no cold start going on). Quite annoying as I was doing a demo to an important potential user. Francois On Nov 12, 11:28 am, heros lvh...@gmail.com wrote: Yes, I'm too. But I can log in if trying some times. Google may be maintaining their server. Hung On Nov 12, 4:51 pm, rsutaria rsuta...@gmail.com wrote: ++1. Any idea when will it be resolved? On Nov 12, 2:28 pm, Nikhil Aggarwal nikhil.kumar.aggar...@gmail.com wrote: I am getting the following 500 Server Error message while trying to login to appengine.google.com to view the admin panel: Error: Server Error The server encountered an error and could not complete your request. If the problem persists, please report your problem and mention this error message and the query that caused it. -- 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 google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
[appengine-java] Cold starts taking longer since recent update ?
Hi everbody, Has anyone noticed that cold starts seems to last quite longer than usual recently ? Some of my cold starts that were about 3 to 4 seconds before are now up to 10 seconds. Sometimes I get them while navigating from one page to another. Quite annoying. I'm supposed to go in production before year end, will reserved instances be available by that date ? Thanx for your help. Francois -- 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 google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
[appengine-java] Re: Does AppEngine recycle threads (Is using ThreadLocal considered good practice on the GAE?)
Each app instance runs in its own JVM. So it should be safe to cache data in ThreadLocal. On 16 sep, 09:08, Maxim Veksler ma...@vekslers.org wrote: I would like to cache a not thread safe object, I'm hoping to improve performance by caching it instead of instantiating new instance per request. Thanks, Maxim. On Thu, Sep 16, 2010 at 8:12 AM, Guillaume Laforge glafo...@gmail.comwrote: What kind of data or information do you want to share through thread-locals between threads/requests? On Thu, Sep 16, 2010 at 08:04, Maxim Veksler ma...@vekslers.org wrote: I didn't say multi threaded. ThreadLocal gives access to the cached object of the current thread. I'm doing an assumption here that appengine/j is implemented with thread per incoming request. What I would like to know is if these threads are recycled (in which case ThreadLocal is a good approach) or not. Thanks, Maxim. On Thu, Sep 16, 2010 at 6:17 AM, Didier Durand durand.did...@gmail.comwrote: Hi Maxim, Multi-threading is not the way to go under GAEJ, see http://code.google.com/appehttp://code.google.com/appengine/docs/java/runtime.html#The_Sandbox *I didn't say multi threaded. * ngine/docs/java/runtime.html#The_Sandboxhttp://code.google.com/appengine/docs/java/runtime.html#The_Sandbox The right way to go is Tasks: http://code.google.com/appengine/docs/java/taskqueue/overview.html regards didier On Sep 15, 2:00 pm, Maxim Veksler ma...@vekslers.org wrote: Hello, I'm wondering (after some internal discussion we had) is using ThreadLocal for applications running on the AppEngine is performance beneficial ? For this to work AppEngine should recycle threads, right? Another question is how many threads does the appengine allows per JVM ? Such ThreadLocal based approach would (probably) be inefficient if the JVM allowed 2 threads. Help is appreciated. Maxim. -- 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 google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.comgoogle-appengine-java%2B unsubscr...@googlegroups.com . For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en. -- 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 google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.comgoogle-appengine-java%2B unsubscr...@googlegroups.com . For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en. -- Guillaume Laforge Groovy Project Manager Head of Groovy Development at SpringSource http://www.springsource.com/g2one -- 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 google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.comgoogle-appengine-java%2B unsubscr...@googlegroups.com . For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en. -- 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 google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
[appengine-java] Re: time triggered tasks
It looks like you can delay tasks via API : TaskOptionscountdownMillis(long countdownMillis) Set the number of milliseconds delay before execution of the task. TaskOptionsetaMillis(long etaMillis) Sets the approximate absolute time to execute. I also found a link : http://efreedom.com/Question/1-1049054/Task-Queue-API-ETA-Countdown I have not tested it though. Francois On 9 sep, 05:29, Hariharan Anantharaman hariharan.ananthara...@gmail.com wrote: Hi, Are you planning to have all users authenticated only using google accounts? If so, you can see if you can use google calendar. Just a thought. That might help you to acheieve few things out of box. ~hari On Sep 9, 2010 4:56 AM, Marco Alves marco.m.al...@gmail.com wrote: Hi Didier. Thanks for your input. I was hoping that it would be possible to schedule each task with an execution date. With that information, GAE would execute the task on the execution date, very much like an alarm clock. I guess I'll have to implement a cron job at a regular interval and use the task queues as you mentioned. On Sep 5, 4:56 pm, Didier Durand durand.did...@gmail.com wrote: Hi marco, One solution to t... -- 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 google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
[appengine-java] Re: can we use Web-services in Gooogle app engine
I've successfully used some SOAP Services using the WSC library : http://code.google.com/p/sfdc-wsc/ Francois On 3 sep, 10:27, moissinac jcmoissi...@gmail.com wrote: No true/false response possible. 1) Response time: if a GAE application calls web services, each call must be ended in the limited response time offered by Google; so if there is some delay in the response of the called web service, you need to manage this finely; it could be a bit complex 2) Web service framework: if you implement web services by using a framework/library (Axis,...), it's possible/common that the framework uses a database and so that the framework is not directly compatible with GAE But, it's POSSIBLE to implement anf use web services with GAE -- 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 google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
[appengine-java] Re: Datastore Backup in JAVA
There is, at the moment, not native Java tools for doing backup/ restore. You need to download the Python SDK. You coul also star the following issue : http://code.google.com/p/googleappengine/issues/detail?id=776 On Aug 30, 7:17 am, Star25 thiru.next...@gmail.com wrote: Can anyone tell me how to backup the Datastore in JAVA -- 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 google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.