Re: [appengine-java] Re: Confused about loading vs. non-loading requests when threadsafe on

2011-06-22 Thread Jon McAlister
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

2011-06-21 Thread Jon McAlister
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?

2011-05-04 Thread Jon McAlister
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

2011-03-04 Thread Jon McAlister
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

2011-03-02 Thread Jon McAlister
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

2010-03-18 Thread Jon McAlister
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.