Re: [appengine-java] Re: Confused about loading vs. non-loading requests when threadsafe on
On Tue, Jun 21, 2011 at 6:33 PM, Tom Phillips tphill0...@gmail.com wrote: Hi Jon, I raised issue http://code.google.com/p/googleappengine/issues/detail?id=5214 on the non-loading requests resulting in instance deaths with threadsafe on. It was a bit more verbose than it probably needs to be, but it describes the problem. Thanks! It's very helpful. If anyone knows another way to detect loading requests that works with threadsafe on, let me know. There is no guarantee that the servlet context is loaded during the loading request, so that's out for now, but if anyone knows another trick it will create options to work around the problem until a fix is available. Otherwise, I can disable threadsafe for now. But I'm reluctant - the efficiency is strangely reassuring.. Of course, you've got another workaround so that's better than turning off threadsafe. Makes sense. /Tom On Jun 21, 1:25 pm, Jon McAlister jon...@google.com wrote: Hi Tom, I'm not sure about the servlet context listener code. However, thanks for pointing out the behavior of the interaction of loading requests and threadsafe apps. We are indeed sending down non-loading-requests while the instance is still processing the loading request. This is problematic (for the reasons you list) and something we didn't anticipate. We'll try to get a fix in to one of the next releases. If you file it as an external issue we can use that to notify when its closed. Until then your suggested workaround is good, the other known workaround being to turn off threadsafe. Thanks for bringing this to our attention. On Sun, Jun 19, 2011 at 5:11 PM, Tom Phillips tphill0...@gmail.com wrote: The GAE documentation says you can detect loading requests like this: // web.xml snippet listener listener-class com.example.LogLoadingRequest /listener-class /listener // LogLoadingRequest.java public class LogLoadingRequest implements ServletContextListener { private static final Logger logger = Logger.getLogger(LogLoadingRequest.class.getName()); public void contextInitialized(ServletContextEvent sce) { logger.log(Level.INFO, Loading request occuring.); } public void contextDestroyed(ServletContextEvent sce) { } } But I'm finding from my logs that what GAE thinks is a loading request (identified in log as loading_request=1) and which is given longer deadline, does NOT always match the request that logs the above Loading request occuring. when Threadsafe is on. Should it, or is this method obsolete for threadsafe instances? Is there some other way I can detect loading vs non-loading requests with threadsafe on? With threadsafe on, non-loading requests are being assigned by GAE to instances while the loading request is still happening, resulting in all sort of (Hard)DeadlineExceeded issues in the non-loading requests. Reason is, loading requests are showing huge slow down and variance in loading times lately, often exceeding the 30 seconds that non-loading request are allowed - even though in my case loading should only take about 4 seconds (jaxb,PMF) plus whatever classloading and jvm startup takes. Worst thing is, these exceptions bring down the instance before loading can even finish, requiring multiple startup attempts. I'm trying to work around it by detecting loading vs. non-loading requests and in non-loading either doing a no-op if not critical, or proxying via urlfetch through to a backend until the loading request is complete. -- 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 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-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] Confused about loading vs. non-loading requests when threadsafe on
Hi Tom, I'm not sure about the servlet context listener code. However, thanks for pointing out the behavior of the interaction of loading requests and threadsafe apps. We are indeed sending down non-loading-requests while the instance is still processing the loading request. This is problematic (for the reasons you list) and something we didn't anticipate. We'll try to get a fix in to one of the next releases. If you file it as an external issue we can use that to notify when its closed. Until then your suggested workaround is good, the other known workaround being to turn off threadsafe. Thanks for bringing this to our attention. On Sun, Jun 19, 2011 at 5:11 PM, Tom Phillips tphill0...@gmail.com wrote: The GAE documentation says you can detect loading requests like this: // web.xml snippet listener listener-class com.example.LogLoadingRequest /listener-class /listener // LogLoadingRequest.java public class LogLoadingRequest implements ServletContextListener { private static final Logger logger = Logger.getLogger(LogLoadingRequest.class.getName()); public void contextInitialized(ServletContextEvent sce) { logger.log(Level.INFO, Loading request occuring.); } public void contextDestroyed(ServletContextEvent sce) { } } But I'm finding from my logs that what GAE thinks is a loading request (identified in log as loading_request=1) and which is given longer deadline, does NOT always match the request that logs the above Loading request occuring. when Threadsafe is on. Should it, or is this method obsolete for threadsafe instances? Is there some other way I can detect loading vs non-loading requests with threadsafe on? With threadsafe on, non-loading requests are being assigned by GAE to instances while the loading request is still happening, resulting in all sort of (Hard)DeadlineExceeded issues in the non-loading requests. Reason is, loading requests are showing huge slow down and variance in loading times lately, often exceeding the 30 seconds that non-loading request are allowed - even though in my case loading should only take about 4 seconds (jaxb,PMF) plus whatever classloading and jvm startup takes. Worst thing is, these exceptions bring down the instance before loading can even finish, requiring multiple startup attempts. I'm trying to work around it by detecting loading vs. non-loading requests and in non-loading either doing a no-op if not critical, or proxying via urlfetch through to a backend until the loading request is complete. -- 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] user api: logout link logs me out of google account instead of just my app?
To log the user out of just your app, but not out of google, just delete the ACSID or SACSID cookie from your domain. On Wed, May 4, 2011 at 9:33 AM, hst hstoer...@gmail.com wrote: Hi, I have an app for which I enabled login via google accounts with the user api. I proceeded following the documentation, in particular I provide the logout link created by userService.createLogoutURL() to the user. The (big!) problem is that when users click on this link, they don't only get signed out of our app, but out of their google account entirely, i.e. gmail, google docs, and everything else that uses this account. Is there a way to avoid this behavior? I really cannot release our app like that, people are going to fry me. Cheers, hst -- 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: Login redirect failing all of a sudden /_ah/conflogin
The workaround is to have the app perform the redirect. That is, createLoginUrl only works when the continue url is a url for the app. If you need the user to be sent to another app/host after login, then your app needs to do that redirect. On Fri, Mar 4, 2011 at 11:47 AM, Glenn glenn.mur...@gmail.com wrote: What was the good workaround? Our login is broken, too. We have two App Engine apps: one is the front end and one the back end, with a REST API. When the user accesses the front end a call to the back end is made where redirect = userService.createLoginURL(gae front end); is called. In this case both apps have appspot.com urls and it worked well. We are dead in the water now. Please help! Thanks, Glenn On Mar 2, 12:31 pm, Jon McAlister jon...@google.com wrote: Looks like you pushed a good workaround already, but yes that was a result of a new login system yesterday, and looks like it is not handling this case like the prior system did. Specifically, calling createLoginUrl where the continue url is not the same as the url the app is hosted on. And, furthermore, the continue url is not an app engine url at all. For now, what you did was a good workaround. That is, use an app engine url as the continue url, and then have the app engine app redirect to the non-app-engine url. Need to think on this case some more. On Wed, Mar 2, 2011 at 7:53 AM, Joerg Weingarten jbwinvest...@gmail.com wrote: Since this morning my call to userservice.createLoginUrl produces a url that doesn't work anymore. When selecting my Sign in link, which has a url like: https://www.google.com/accounts/ServiceLogin?service=ahpassive=true;... I get the error: The requested URL /_ah/conflogin was not found on this server. Somebody please help. Thx ---Joerg--- -- 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 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-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] Login redirect failing all of a sudden /_ah/conflogin
Looks like you pushed a good workaround already, but yes that was a result of a new login system yesterday, and looks like it is not handling this case like the prior system did. Specifically, calling createLoginUrl where the continue url is not the same as the url the app is hosted on. And, furthermore, the continue url is not an app engine url at all. For now, what you did was a good workaround. That is, use an app engine url as the continue url, and then have the app engine app redirect to the non-app-engine url. Need to think on this case some more. On Wed, Mar 2, 2011 at 7:53 AM, Joerg Weingarten jbwinvest...@gmail.com wrote: Since this morning my call to userservice.createLoginUrl produces a url that doesn't work anymore. When selecting my Sign in link, which has a url like: https://www.google.com/accounts/ServiceLogin?service=ahpassive=truecontinue=https://appengine.google.com/_ah/conflogin%3Fcontinue%3Dhttp://www.taxinvestorpro.com/toolltmpl=gmahname=Tax+Investor+Prosig=16611e8360a8e4ed2de927115a76d607 I get the error: The requested URL /_ah/conflogin was not found on this server. Somebody please help. Thx ---Joerg--- -- 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: Unable to upload application
Yep, we had a bad admin console push and deploys were affected from 3:10pm PST until 4:30pm PST. All better now. Apologies. On Thu, Mar 18, 2010 at 3:50 PM, Huebi konrad.hueb...@googlemail.com wrote: here as well :( On 18 Mrz., 23:42, François Masurel fm2...@mably.com wrote: Same problem here too :-( On 18 mar, 23:30, Sandeep Sathaye sandeep.sath...@gmail.com wrote: I am having the same problem. On Thu, Mar 18, 2010 at 6:26 PM, Peter Ondruska peter.ondru...@gmail.comwrote: I am trying to upload my application but it fails everytime: com.google.appengine.tools.admin.AdminException: Unable to update app: Error posting to URL: https://appengine.google.com/api/appversion/create?app_id=f72dzzn5q5q... 500 Internal Server Error Server Error (500) A server error has occurred. at com.google.appengine.tools.admin.AppAdminImpl.update(AppAdminImpl.java: 62) at com.google.appengine.eclipse.core.proxy.AppEngineBridgeImpl.deploy(AppEngin eBridgeImpl.java: 271) at com.google.appengine.eclipse.core.deploy.DeployProjectJob.runInWorkspace(De ployProjectJob.java: 145) at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorksp aceJob.java: 38) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55) Caused by: java.io.IOException: Error posting to URL: https://appengine.google.com/api/appversion/create?app_id=f72dzzn5q5q... 500 Internal Server Error Server Error (500) A server error has occurred. at com.google.appengine.tools.admin.ServerConnection.send(ServerConnection.jav a: 149) at com.google.appengine.tools.admin.ServerConnection.post(ServerConnection.jav a: 82) at com.google.appengine.tools.admin.AppVersionUpload.send(AppVersionUpload.jav a: 532) at com.google.appengine.tools.admin.AppVersionUpload.beginTransaction(AppVersi onUpload.java: 349) at com.google.appengine.tools.admin.AppVersionUpload.doUpload(AppVersionUpload .java: 111) at com.google.appengine.tools.admin.AppAdminImpl.update(AppAdminImpl.java: 56) ... 4 more -- 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. -- 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.