Re: [appengine-java] Debugging in Eclipse - App Engine dev web server doesn't respond
Hello! I am experiencing a very similar problem but I have verified this only happens when I use eclipse. If I run a web service from netbeans for example, I can connect to localhost perfectly. What could be wrong? Thanks! -- 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] Google checkout and GAE
Hello Will, I am assuming you are using the Google Checkout integration java API. Though I don't remember the exact details but I recall having run into similar issues with Google Checkout when I was doing some work for Exxtensionshttps://www.exxential.com/exxtensions/home and it turned out that it was the JAXB context creation that accounted for almost all the delay. So it is not really an issue with checkout being slow, but the client library just isn't optimized. Ultimately, I had to move the creation of the context to the static block apart from several other minor changes here and there. Hope that helps. Tarun On Mon, Mar 21, 2011 at 10:34 PM, WillSpecht willspe...@gmail.com wrote: I am trying to integrate Google checkout with my GAE app. I am hitting 2 big bottle necks. exampleNotificationServelet is using a ton of CPU and usually fails with a time out if starting a new instance. I'm reading a few values from the merchant data and then doing one write to the data store. I don't see what can be taking that much time. It is also taking forever to create a cart and redirect to the Google checkout page. It takes almost 15 seconds once pressing the checkout button. I have narrowed this down to the build and postCart methods. When I step through while debugging on my local host, these methods take about 10-12 seconds to complete. Is this normal? I am having trouble debugging exampleNotificationServelet, since I don't know what checkout is sending to my server. Can anyone explain a good way to fake a notification to the localhost running exampleNotificationServelet? So I can set break points and see what is taking up so much CPU. -- 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.
[appengine-java] Re: ImagesServiceFactory.makeImageFromBlob(blobKey) image.getImageData() gets NULL error
I'm going to try to get the job done with HTML5 for now, until the server has the features to do the job. http://google-web-toolkit.googlecode.com/svn/javadoc/latest/index.html?overview-summary.html http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#images -- 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] raise limits for applications
Hi all, I was thinking if there could be a way to raise the limits for applications. My contecern is, that I have a JNLP application with a nice bunch of libraries included (e.g. jasper reports, etc), which takes the application nicely over 10 MB. The application is built as a Netbeans RPC application, so there is a jnlp-servlet for downloading all necessary files. Unfortunatelly, such applications are rarely under 10 MB. The jnlp-servlet itself does not consume much memory (as far I know), so this is not a problem, To download all libraries may take a little processing time, traffic and request time (well, even for slow trafic I hope each library is downloaded in 30s), but that's why there is billing quota for I am willing to pay. I'd see the google apps as a nice platform to deploy web start applications too, but for bigger application there would be nice to raise request handler quotas too, even if it would be a payed service. I don't think a need a separate VPS instance running 24x7 just to download a jnlp application. The question is, if there is another solution or I'll have to work on getting the static libraries deployed somewhere else (not a bad ide too). Regards Perun -- 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: Google checkout and GAE
Can someone explain why the SDK doesn't work on app engine. Does it use a library that's not on the white list? Is it just broken in general and doesn't work well anywhere? On Mar 22, 7:02 am, Tarun Jain tj...@exxential.com wrote: Hello Will, I am assuming you are using the Google Checkout integration java API. Though I don't remember the exact details but I recall having run into similar issues with Google Checkout when I was doing some work for Exxtensionshttps://www.exxential.com/exxtensions/home and it turned out that it was the JAXB context creation that accounted for almost all the delay. So it is not really an issue with checkout being slow, but the client library just isn't optimized. Ultimately, I had to move the creation of the context to the static block apart from several other minor changes here and there. Hope that helps. Tarun On Mon, Mar 21, 2011 at 10:34 PM, WillSpecht willspe...@gmail.com wrote: I am trying to integrate Google checkout with my GAE app. I am hitting 2 big bottle necks. exampleNotificationServelet is using a ton of CPU and usually fails with a time out if starting a new instance. I'm reading a few values from the merchant data and then doing one write to the data store. I don't see what can be taking that much time. It is also taking forever to create a cart and redirect to the Google checkout page. It takes almost 15 seconds once pressing the checkout button. I have narrowed this down to the build and postCart methods. When I step through while debugging on my local host, these methods take about 10-12 seconds to complete. Is this normal? I am having trouble debugging exampleNotificationServelet, since I don't know what checkout is sending to my server. Can anyone explain a good way to fake a notification to the localhost running exampleNotificationServelet? So I can set break points and see what is taking up so much CPU. -- 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.
[appengine-java] Google Apps Marketplace sample application exceptio
Hi! I followed the steps in this tutorial, and my app is hosted on app engine. http://code.google.com/intl/hu-HU/googleapps/marketplace/tutorial_java.html I had the following experiences: - On my private listing in the Apps Marketplace I click on Add it now, I give my apps domain and as I click on the Go button nothing happens. - I go to the app engine and open the application from there. It starts, asks for my domain, I grant access for the app to my domain, and after that the folowing message appears: Error: Server ErrorThe server encountered an error and could not complete your request. I checked the log and it says: 1. /hello com.google.gdata.util.AuthenticationException: OK HTML HEAD TITLEToken invalid - Invalid AuthSub token./TITLE /HEAD BODY BGCOLOR=#FF TEXT=#00 H1Token invalid - Invalid AuthSub token./H1 H2Error 401/H2 /BODY /HTML at com.google.gdata.client.http.HttpGDataRequest.handleErrorResponse(HttpGDataRequest.java:564) at com.google.gdata.client.http.GoogleGDataRequest.handleErrorResponse(GoogleGDataRequest.java:543) at com.google.gdata.client.http.HttpGDataRequest.checkResponse(HttpGDataRequest.java:536) at com.google.gdata.client.http.HttpGDataRequest.execute(HttpGDataRequest.java:515) at com.google.gdata.client.http.GoogleGDataRequest.execute(GoogleGDataRequest.java:515) at com.google.gdata.client.Service.getFeed(Service.java:1053) at com.google.gdata.client.Service.getFeed(Service.java:995) at com.google.gdata.client.GoogleService.getFeed(GoogleService.java:662) at com.google.gdata.client.Service.query(Service.java:1155) at com.google.gdata.client.Service.query(Service.java:1096) at com.google.code.samples.apps.marketplace.CalendarServlet.nextEvent(CalendarServlet.java:119) at com.google.code.samples.apps.marketplace.CalendarServlet.doGet(CalendarServlet.java:89) at javax.servlet.http.HttpServlet.service(HttpServlet.java:617) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1166) at com.google.apphosting.utils.servlet.ParseBlobUploadFilter.doFilter(ParseBlobUploadFilter.java:97) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) at com.google.apphosting.runtime.jetty.SaveSessionFilter.doFilter(SaveSessionFilter.java:35) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) at com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java:43) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388) at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182) 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:261) at com.google.apphosting.base.RuntimePb$EvaluationRuntime$2.handleRequest(RuntimePb.java:8440) at com.google.net.rpc.impl.RpcUtil.runRpcInApplication(RpcUtil.java:454) at com.google.net.rpc.impl.Server$RpcTask.runInContext(Server.java:572) 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
Re: [appengine-java] Task Enqueue in a Transaction
It's my understanding that, with HR, getting an entity by key is only strongly consistent within a transaction. If this is wrong, then a significant portion of my own task handling code may need revisiting... Perhaps someone who knows more could clarify this. Tom. On 21 March 2011 22:10, Simon Knott knott.si...@gmail.com wrote: I've got a query about tasks and transactions on a High-replication app that I'm hoping someone can help me with. I've got the following scenario: 1) Begin a transaction 2) Persist an entity 3) Enqueue a task within the transaction 4) Commit the transaction Within the task, I get the entity via its key and I'm finding that the object has yet to be updated in the datastore - it was my belief that getting an entity via its key is strongly consistent, so I was quite surprised to see that the entity was stale. Is this result expected? I've got some defensive code in place now which just re-enqueues the task, but I wasn't sure whether that was the right approach. I originally had the same issue on the MS version of my app, before I realised that I needed to enqueue the task within the same transaction to ensure the persist had occurred before the task was run. -- 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] Task Enqueue in a Transaction
I thought that it was strongly consistent because in the background the get-by-key was forced into a transaction and that you didn't have to declare it yourself. If it didn't happen so sporadically, I'd test to see whether this fixed the issue! As you say, if someone could clarify that would be great. If consistency isn't the issue, then it looks to me that the task is being kicked off before the transaction is committed. -- 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] Task Enqueue in a Transaction
According to the docs, gets, puts, deletes, and ancestor queries are all strongly consistent: http://code.google.com/appengine/docs/java/datastore/hr/ -- 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] Set password for appcfg.sh update
Hi, Is there way to use a pre-defined password (e.g. set as a parameter or from some file) for the update task (http://code.google.com/appengine/ docs/java/tools/uploadinganapp.html)? Unfortunately, I couldn't find an appropriate parameter. I'd like to upload my app to App Engine as part of an automated Continuous Integration process without having to enter the password on the command-line. Thanks, Ben -- 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] Task Enqueue in a Transaction
Thanks for the link, somehow I'd managed to miss that page of documentation entirely*; it's good to know, though it indicates other problems for the OP. I'm not clear on why eventually consistent gets aren't an option, ie. why all gets are indicated as being strongly consistent. Is this a direct consequence of replication algorithm used? There are various places in the code I'm currently developing where dirty gets are adequate and I'd be happy to see them faster. * As an aside, I do find the documentation on the datastore feels very scattered. I'd much prefer sections on the underlying app engine mechanics with less language specific guidance. Tom. On 22 March 2011 17:59, Jay Young jayyoung9...@gmail.com wrote: According to the docs, gets, puts, deletes, and ancestor queries are all strongly consistent: http://code.google.com/appengine/docs/java/datastore/hr/ -- 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: Task Enqueue in a Transaction
Hi, For me, the answer is here: http://code.google.com/appengine/docs/java/datastore/transactions.html#Isolation_and_Consistency They say: Queries and gets inside a transaction are guaranteed to see a single, consistent snapshot of the datastore as of the beginning of the transaction. In particular, entities and index rows in the transaction's entity group are fully updated so that queries return the complete, correct set of result entities, without the false positives or false negatives described in Transaction Isolation that can occur in queries outside of transactions. The task is part of the initial transaction so it sees the ds as of the beginning of the transaction regards didier On Mar 22, 9:12 pm, Tom Gibara tomgib...@gmail.com wrote: Thanks for the link, somehow I'd managed to miss that page of documentation entirely*; it's good to know, though it indicates other problems for the OP. I'm not clear on why eventually consistent gets aren't an option, ie. why all gets are indicated as being strongly consistent. Is this a direct consequence of replication algorithm used? There are various places in the code I'm currently developing where dirty gets are adequate and I'd be happy to see them faster. * As an aside, I do find the documentation on the datastore feels very scattered. I'd much prefer sections on the underlying app engine mechanics with less language specific guidance. Tom. On 22 March 2011 17:59, Jay Young jayyoung9...@gmail.com wrote: According to the docs, gets, puts, deletes, and ancestor queries are all strongly consistent: http://code.google.com/appengine/docs/java/datastore/hr/ -- 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.