Re: [appengine-java] Re: periodic downtimes
Well, I've submitted 2 or 3 tickets to their support team last week and haven't heard back yet. Perhaps I'm doing something wrong. As far as how our app did on the app-engine: it was pretty smooth. I think the main issue we ran into was the 10 writes per entity group per second. I think that restriction may force us onto a different platform. I think we could have worked around that restriction by employing more clever memcache usage, especially now that there is CAS enabled on the memcache, but I'd be slightly nervous about updates living in memcache and getting dropped before we wrote them to the datastore. My clients pretty much decided they want to try another hosting solution, so I guess that's my only option lol. Thanks for the reply! On Sat, Feb 12, 2011 at 5:34 AM, systemsplanet m...@systemsplanet.com wrote: the app engine team recently fixed a problem I was having in about 12 hrs. I couldn't add a new application, GAE forgot I had already authenticated my mobile phone number. as for your ap, I'll be interested to see if an ap with expected high contention will work well on gae. seems like gea is optimized for high-reads and few non-contending writes (like a blog). . On Feb 11, 1:37 am, bcottam bcot...@gmail.com wrote: Good point Robert, I'm not sure if it's just the datastore. My users wind up getting a 500 error on requests that just read data, usually even if the datastore has issues, you can still read from it. I'd be comfortable using memcache, but I'd want to ensure it had the same data integrity as the datastore (or something close anyhow). The nice thing about the datastore is that there is optimistic locking, so I know when there's contention. Currently, our users collectively modify data at about the same time (like 7-12 updates in a single second from several users), it's pretty important that I keep them in order, so I currently have my writes wrapped in a datastore transaction with a loop that runs about 5 times or until the transaction succeeds. Has anyone managed that type of contention in the memcache? If so, I'd love to hear some techniques that can ensure no update tramples a previous concurrent update. I've submitted inquiries to the billing and CPU request form, but haven't heard back. Does it usually take longer than 24 hours to hear back from the app-engine support team? 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. -- 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] Website/link down second time in this month without any notification or maintenance.
Hello everyone, This is second time in this month that our link/website is down without any notification or maintenance, last when asked about this reply was ' it is not their(google server)side issue '. We have registered our domain name from Google apps itself and still google has no answer for what's happening. Can somebody tell us how to solve this issue or any suggestion? Thanks and regards Sagar Misal. -- 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: How to completely erase the datastore of an app
Hi meyertee, It says exactly what you have written. But nevertheless I'm not able to manage this issue!! I'm very puzzled... Any other hint? Thank you very much Best CRI On 13 Feb, 16:22, meyertee meyer...@gmail.com wrote: What does it say when you go from your dashboard to Administration - Application Settings - in the top right corner under Authentication Options? For me it says: Google Apps. Users with a valid account in the my-domain.com Google Apps domain can sign in if the Google Accounts API is used for authentication. I don't think you can change this option after creating the app. If it says Google Accounts API for you, you should be able to see the datastore admin with your normal account if it's a gmail account... Best, meyertee -- 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: How to completely erase the datastore of an app
I'm afraid I'm running out of theories.. Funnily enough, my Datastore Admin just stopped working too - it's showing me the error page. It was still working until a couple of days ago. Oh well... Best, meyertee. -- 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] can i use css in my app ?
Thanks for your replies. -- 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] IllegalStateException: Must be called from a blob upload callback request
Has anybody had and resolved this error? Thanks Uncaught exception from servlet java.lang.IllegalStateException: Must be called from a blob upload callback request. at com.google.appengine.api.blobstore.BlobstoreServiceImpl.getUploadedBlobs(Bl obstoreServiceImpl.java: 128) -- 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] Lexicographic order of keys
Say you manage an entity kind with a com.google.appengine.api.datastore.Key key, and you manage those keys with explicit values like key = KeyFactory.createKey(MyClass.class.getSimpleName(), AAA). Then, does the string-encoded form of the key have the same lexicographic order than the explicit key name ? In other words: if I want to perform a range query based on the explicit name (i.e. get all entities with key name from AAA to ZZZ), can I use an double inequality filter on the entity keys? -- 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] Guice Errors while trying to integrate the sample google app marketplace
I'm trying to run the sample google marketplace app and my application is throwing guice errors in the logs. * * *Setup:* 1. Java Application deployed Google App Engine 2. Google Marketplace listing pointing to the app. *Issue* 1. Accessing the application from both directly the appspot.com as well as from the universal navigation from within google app results in the following error *Uncaught exception from servlet com.google.inject.internal.ComputationException: java.lang.SecurityException: Unable to get members for class com.google.step2.discovery.DefaultHostMetaFetcher* at com.google.inject.internal.MapMaker$StrategyImpl.compute(MapMaker.java:553) at com.google.inject.internal.MapMaker$StrategyImpl.compute(MapMaker.java:419) at com.google.inject.internal.CustomConcurrentHashMap$ComputingImpl.get(CustomConcurrentHashMap.java:2041) at com.google.inject.internal.FailableCache.get(FailableCache.java:46) at com.google.inject.ConstructorInjectorStore.get(ConstructorInjectorStore.java:52) at com.google.inject.ConstructorBindingImpl.initialize(ConstructorBindingImpl.java:57) at com.google.inject.InjectorImpl.initializeBinding(InjectorImpl.java:377) at com.google.inject.InjectorImpl.createJustInTimeBinding(InjectorImpl.java:645) at com.google.inject.InjectorImpl.createJustInTimeBindingRecursive(InjectorImpl.java:581) at com.google.inject.InjectorImpl.getJustInTimeBinding(InjectorImpl.java:172) at com.google.inject.InjectorImpl.getBindingOrThrow(InjectorImpl.java:132) at com.google.inject.InjectorImpl.getInternalFactory(InjectorImpl.java:651) at com.google.inject.InjectorImpl.getProviderOrThrow(InjectorImpl.java:747) at com.google.inject.LookupProcessor.visit(LookupProcessor.java:51) at com.google.inject.LookupProcessor.visit(LookupProcessor.java:30) at com.google.inject.spi.ProviderLookup.acceptVisitor(ProviderLookup.java:54) at com.google.inject.AbstractProcessor.process(AbstractProcessor.java:65) at com.google.inject.AbstractProcessor.process(AbstractProcessor.java:54) at com.google.inject.InjectorBuilder.initializeStatically(InjectorBuilder.java:140) at com.google.inject.InjectorBuilder.build(InjectorBuilder.java:105) at com.google.inject.Guice.createInjector(Guice.java:92) at com.google.inject.Guice.createInjector(Guice.java:69) at com.google.inject.Guice.createInjector(Guice.java:59) at com.jbb.gamproject.ConsumerFactory.init(ConsumerFactory.java:39) at com.jbb.gamproject.OpenIdServlet.init(OpenIdServlet.java:71) at org.mortbay.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:440) at org.mortbay.jetty.servlet.ServletHolder.getServlet(ServletHolder.java:339) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487) 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
[appengine-java] Using Jing for XML Document Schema. Works on local, errors when deployed.
Hello all! I originally posted this in the main App Engine group, but was told to try my luck here. I'm developing an application for App Engine that will take a Relax NG schema and build a Document object against it from nodes that I append. My implementation works on my local machine (Mac OS X Snow Leopard, Eclipse Helios Java EE edition, GWT 2.2.0, App Engine 1.4.2), but when I deploy it I get the following error: java.lang.IllegalArgumentException: No SchemaFactory that implements the schema language specified by: http://relaxng.org/ns/structure/1.0 could be loaded It is complaining about the following lines of code: System.setProperty(SchemaFactory.class.getName() + : + XMLConstants.RELAXNG_NS_URI, com.thaiopensource.relaxng.jaxp.CompactSyntaxSchemaFactory); SchemaFactory schemaFac = SchemaFactory.newInstance(XMLConstants.RELAXNG_NS_URI); -- The exception occurs on this line. Does anyone have any ideas as to how I can fix this? Like I said, it works on my local machine. Essentially what I would like to do is create a Schema from a Relax NG file that is then passed to a DocumentBuilderFactory via the setSchema() method. -- 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: 1.4.2: Can't make https call from dev server
I am having similar problems with the recently released version com.google.appengine.eclipse.sdkbundle.1.4.2_1.4.2.v201102111811 Problems happen with the development server, not in production. I am performing Facebook login credentials authentication in the callback url. Interrupt stack is below: HTTP ERROR 500 Problem accessing /loginfacebookcallback. Reason: Could not verify SSL certificate for: https://graph.facebook.com/oauth/access_token?omitted Caused by: javax.net.ssl.SSLHandshakeException: Could not verify SSL certificate for: https://graph.facebook.com/oauth/access_token?omitted at com.google.appengine.api.urlfetch.URLFetchServiceImpl.convertApplicationException(URLFetchServiceImpl.java: 114) at com.google.appengine.api.urlfetch.URLFetchServiceImpl.fetch(URLFetchServiceImpl.java: 41) at com.google.apphosting.utils.security.urlfetch.URLFetchServiceStreamHandler $Connection.fetchResponse(URLFetchServiceStreamHandler.java:418) at com.google.apphosting.utils.security.urlfetch.URLFetchServiceStreamHandler $Connection.getInputStream(URLFetchServiceStreamHandler.java:297) at www.superpass.de.server.UrlFetcher.get(UrlFetcher.java:60) Following message is printed to the console: I/O exception (javax.net.ssl.SSLPeerUnverifiedException) caught when processing request: HTTPS hostname invalid: expected 'graph.facebook.com', received '*.facebook.com' Retrying request Regards, Harri On Feb 13, 11:27 am, Lior Harsat lior.har...@gmail.com wrote: I am having a similar problem with https: I have been testing the SDK and I found one bug which seems critical. When I call the URLFetchService.fetch API with a https URL I get a javax.net.ssl.SSLHandshakeException. for example when I fetch https://spreadsheets.google.com/feeds/ list/ I get javax.net.ssl.SSLHandshakeException: Could not verify SSL certificate for:https://spreadsheets.google.com/feeds/list/... When I switch back to an older SDK this doesn't happen. Is there a Help us test Prerelease SDK 1.4.2 thread I can post this to? Can anyone confirm this bug reproduces? Thanx, Lior On Feb 12, 11:57 am, Peter Liu tinyee...@gmail.com wrote: We are using a custom remote delegate to route datastore rpc call to live production test site on appspot. We did this because sometimes we want to develop with live data. However after upgrading to 1.4.2, https outbound call starts failing (see below). If we change to http, then it works again. It seems like some class is marked as restricted in this release. Is it intentional? What's the reason behind not allowing outbound https call? Thanks. java.lang.NoClassDefFoundError: javax.net.ssl.SSLHandshakeException is a restricted class. Please see the Google App Engine developer's guide for more details. at com.google.appengine.tools.development.agent.runtime.Runtime.reject(Runtime .java: 51) at com.google.appengine.api.urlfetch.URLFetchServiceImpl.convertApplicationExc eption(URLFetchServiceImpl.java: 114) at com.google.appengine.api.urlfetch.URLFetchServiceImpl.access $100(URLFetchServiceImpl.java:22) at com.google.appengine.api.urlfetch.URLFetchServiceImpl $1.convertException(URLFetchServiceImpl.java:86) at com.google.appengine.api.utils.FutureWrapper.get(FutureWrapper.java: 69) at com.pekca.main.delegate.RemoteDelegate$1.get(RemoteDelegate.java: 163) -- 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] appengine-web.xml required when using app.yaml?
Why is GPE requiring that I keep appengine-web.xml around so it can store the appid and version when that info is already stored in my app.yaml? I drank the koolaid and use .yaml files wherever I can. Please change GPE to store/read the app meta-data from appengine- web.xml or app.yaml - whichever is present. Keeping both in sync is a pain and introduces risk. scott -- 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: GAEJ app on a local GWT -noserver equivalent setup?
BTW, the MaintainJ webapp doesn't write anything on the server-side, so I doubt it will have trouble running on the GAEJ-configured Embedded Jetty server. Plus locally it runs on the NORMAL default SUN- ORacle JRE, and thus not on the specific/limited environment available in the GAEJ clouds! Could someone at least point out what the path of the GAEJ local Embedded Jetty server is? I want to try to deploy a second War in to be loaded for each server-instance. On Feb 14, 3:19 am, b4l4nc3r b4l4n...@gmx.com wrote: Yeah, I see, and agree with your point. And I did try it myself, although I mentioned it cryptically with Googled tested. And from the feedback from your perception, I mis-communicated it, because I didn't intend to take the indicated complex approach. Btw, MaintainJ is a tracing tool, to trace Java call-flows for a specific use-case, like logging-in/authentication for instance, to generate automated Sequence Diagrams, which then are easily usable in Eclipse to navigate to linked source-code and have instant flow- insight on a case-to-case basis. It also shows which Strings are being communicated during the call, and recently one can even see the complete SQL prepared statement generated by any persistence layer, like JPA implementations, etc.. To use the tool, however, one has to set it up on the same server (servlet container) on which the webapp --targeted to trace its Java calls-- will run/debug from. GAEJ comes with its own embedded Jetty one, of which I couldn't find the location to pull-off the setup. I need to deploy a second war file containing the MaintainJ tracing webapp, to run it on the same server-instance as the GAEJ app I'm building/debugging locally. The Eclipse GAEJ launch configuration tab doesn't offer any relevant options, nor could I find an argument switch. So I thought to use a fresh one I could setup myself. GWT offers the -noserver switch so that one could use another (non- embedded) server. I couldn't find the same option for GAEJ. I mentioned MaintainJ to point out my use-case for what I'm asking. My concrete questions are: 1. Is it possible to test/debug/run a GAEJ app locally on a different server than the embedded Jetty one? It can even be another Jetty configuration, but it has to be an external one rather then the embedded one. So that I deploy another webapp to be loaded in the same server-instance, and add specific libraries to the server lib dir/ path. 2. Otherwise can one do the same on the default GAEJ local embedded Jetty server? In both cases, if yes, how can one do that exactly? Or where should I look for more relevant information? Thanks so far. I could still use another good feedback/nudge (from someone?). On Feb 12, 6:41 am, Didier Durand durand.did...@gmail.com wrote: Hi, And why don't you just try by yourself ? What you're asking for is so specific so probably nobody has exactly tried what you're asking for. So, people are careful: if they don't know, they will not answer. 1 main point for that: gae made quite a few changes of the jre (See the while list of emulated classes) and added very specific stuff to its dev env (datastore, tasks, namespace, etc.). SO, it's hard to tell if it works elsewhere or not unless you try it. Something I can propose though: why don't you work the other round: you respect servlet api + you have DAOs (matching your databases9 for you data access. Then, you can do what you want with maintainj and then moving the app to gae should be pretty staightforward (you replace your DAOs with their gae datastore version). gae brings its own philosophy: most developers respect it (i.e develop with the sdk and local server) to then leverage the real live environment as soon as possible. I guess that you need to bear the costs by yourself if you want to go on more complex roads. regards didier On Feb 12, 6:18 am, b4l4nc3r b4l4n...@gmx.com wrote: Either I've landed on a deserted island I'm left in the mercy of a huge amount of luck. OR I'm pushing on the wrong buttons hmmm. On Feb 11, 10:29 pm, b4l4nc3r b4l4n...@gmx.com wrote: Am I missing something? An obvious documentation I should have read that would indicate at some point Yes or No? Or am I asking a ridicules question here? Someone with enough know-how should be able point at some direction with the minimum use of her/his time, right? Forget about MaintainJ, just the notion of an GAEJ app locally on a non-embedded Jetty server, possible? Someone succeeded? On Feb 11, 6:06 am, b4l4nc3r b4l4n...@gmx.com wrote: Lets try it completely:http://www.maintainj.com/ On Feb 11, 5:40 am, b4l4nc3r b4l4n...@gmx.com wrote: Btw, I just found out that for some reason the URL I've used starting this discussion/thread is pointing tohttp://www.google.com/www.maintainj.com instead ofwww.maintainj.com. Please know
[appengine-java] Re: 1.4.2: Can't make https call from dev server
Hey everybody, In order to help me diagnose the problems, could you respond with what JDK (Platform, JDK manufacturer (e.g. Sun, OpenJDK), and version) you're running? As a temporary stopgap, if you're using URLFetch service, you can use the doNotValidateCertificate() method in FetchOptions (http://code.google.com/appengine/docs/java/javadoc/com/ google/appengine/api/urlfetch/FetchOptions.html) to disable validation. -Fred On Feb 13, 5:02 am, harri mauria hmau...@googlemail.com wrote: I am having similar problems with the recently released version com.google.appengine.eclipse.sdkbundle.1.4.2_1.4.2.v201102111811 Problems happen with the development server, not in production. I am performing Facebook login credentials authentication in the callback url. Interrupt stack is below: HTTP ERROR 500 Problem accessing /loginfacebookcallback. Reason: Could not verify SSL certificate for:https://graph.facebook.com/oauth/access_token?omitted Caused by: javax.net.ssl.SSLHandshakeException: Could not verify SSL certificate for:https://graph.facebook.com/oauth/access_token?omitted at com.google.appengine.api.urlfetch.URLFetchServiceImpl.convertApplicationExc eption(URLFetchServiceImpl.java: 114) at com.google.appengine.api.urlfetch.URLFetchServiceImpl.fetch(URLFetchService Impl.java: 41) at com.google.apphosting.utils.security.urlfetch.URLFetchServiceStreamHandler $Connection.fetchResponse(URLFetchServiceStreamHandler.java:418) at com.google.apphosting.utils.security.urlfetch.URLFetchServiceStreamHandler $Connection.getInputStream(URLFetchServiceStreamHandler.java:297) atwww.superpass.de.server.UrlFetcher.get(UrlFetcher.java:60) Following message is printed to the console: I/O exception (javax.net.ssl.SSLPeerUnverifiedException) caught when processing request: HTTPS hostname invalid: expected 'graph.facebook.com', received '*.facebook.com' Retrying request Regards, Harri On Feb 13, 11:27 am, Lior Harsat lior.har...@gmail.com wrote: I am having a similar problem with https: I have been testing the SDK and I found one bug which seems critical. When I call the URLFetchService.fetch API with a https URL I get a javax.net.ssl.SSLHandshakeException. for example when I fetch https://spreadsheets.google.com/feeds/ list/ I get javax.net.ssl.SSLHandshakeException: Could not verify SSL certificate for:https://spreadsheets.google.com/feeds/list/... When I switch back to an older SDK this doesn't happen. Is there a Help us test Prerelease SDK 1.4.2 thread I can post this to? Can anyone confirm this bug reproduces? Thanx, Lior On Feb 12, 11:57 am, Peter Liu tinyee...@gmail.com wrote: We are using a custom remote delegate to route datastore rpc call to live production test site on appspot. We did this because sometimes we want to develop with live data. However after upgrading to 1.4.2, https outbound call starts failing (see below). If we change to http, then it works again. It seems like some class is marked as restricted in this release. Is it intentional? What's the reason behind not allowing outbound https call? Thanks. java.lang.NoClassDefFoundError: javax.net.ssl.SSLHandshakeException is a restricted class. Please see the Google App Engine developer's guide for more details. at com.google.appengine.tools.development.agent.runtime.Runtime.reject(Runtime .java: 51) at com.google.appengine.api.urlfetch.URLFetchServiceImpl.convertApplicationExc eption(URLFetchServiceImpl.java: 114) at com.google.appengine.api.urlfetch.URLFetchServiceImpl.access $100(URLFetchServiceImpl.java:22) at com.google.appengine.api.urlfetch.URLFetchServiceImpl $1.convertException(URLFetchServiceImpl.java:86) at com.google.appengine.api.utils.FutureWrapper.get(FutureWrapper.java: 69) at com.pekca.main.delegate.RemoteDelegate$1.get(RemoteDelegate.java: 163) -- 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: FTP Alternatives
Hi, Oh yeah, I understand that blobstore is the way to go for storage aspects. No issue there. However, our customers have automated ftp scripts which posts these files out to ftp servers. It would have been helpful to atleast fetch files from ftp servers from within GAE, if not post to it. (although technically they are akin) Now, I will need to host another application outside GAE to do the dirty work and feed it to GAE using http. Architecturally, introduces more pieces and risk.. Cheers Praseed -- 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: 1.4.2: Can't make https call from dev server
I experience this problem. I'm also using a library that makes the actual call, so I can't use the URLFetch service method. I will have to revert to GAE SDK 1.4.0. Mac OSX 10.6, default JVM, Eclipse Helios: java version 1.6.0_22 Java(TM) SE Runtime Environment (build 1.6.0_22-b04-307-10M3261) Java HotSpot(TM) 64-Bit Server VM (build 17.1-b03-307, mixed mode) My stacktrace: Caused by: javax.net.ssl.SSLHandshakeException: Could not verify SSL certificate for: https://URLREDACTED at com.google.appengine.api.urlfetch.URLFetchServiceImpl.convertApplicationException(URLFetchServiceImpl.java:114) at com.google.appengine.api.urlfetch.URLFetchServiceImpl.fetch(URLFetchServiceImpl.java:41) at com.google.apphosting.utils.security.urlfetch.URLFetchServiceStreamHandler$Connection.fetchResponse(URLFetchServiceStreamHandler.java:418) at com.google.apphosting.utils.security.urlfetch.URLFetchServiceStreamHandler$Connection.getInputStream(URLFetchServiceStreamHandler.java:297) at com.google.apphosting.utils.security.urlfetch.URLFetchServiceStreamHandler$Connection.getResponseCode(URLFetchServiceStreamHandler.java:150) On Mon, Feb 14, 2011 at 1:22 PM, frew f...@google.com wrote: Hey everybody, In order to help me diagnose the problems, could you respond with what JDK (Platform, JDK manufacturer (e.g. Sun, OpenJDK), and version) you're running? As a temporary stopgap, if you're using URLFetch service, you can use the doNotValidateCertificate() method in FetchOptions (http://code.google.com/appengine/docs/java/javadoc/com/ google/appengine/api/urlfetch/FetchOptions.html) to disable validation. -Fred On Feb 13, 5:02 am, harri mauria hmau...@googlemail.com wrote: I am having similar problems with the recently released version com.google.appengine.eclipse.sdkbundle.1.4.2_1.4.2.v201102111811 Problems happen with the development server, not in production. I am performing Facebook login credentials authentication in the callback url. Interrupt stack is below: HTTP ERROR 500 Problem accessing /loginfacebookcallback. Reason: Could not verify SSL certificate for:https://graph.facebook.com/oauth/access_token?omitted Caused by: javax.net.ssl.SSLHandshakeException: Could not verify SSL certificate for:https://graph.facebook.com/oauth/access_token?omitted at com.google.appengine.api.urlfetch.URLFetchServiceImpl.convertApplicationExc eption(URLFetchServiceImpl.java: 114) at com.google.appengine.api.urlfetch.URLFetchServiceImpl.fetch(URLFetchService Impl.java: 41) at com.google.apphosting.utils.security.urlfetch.URLFetchServiceStreamHandler $Connection.fetchResponse(URLFetchServiceStreamHandler.java:418) at com.google.apphosting.utils.security.urlfetch.URLFetchServiceStreamHandler $Connection.getInputStream(URLFetchServiceStreamHandler.java:297) atwww.superpass.de.server.UrlFetcher.get(UrlFetcher.java:60) Following message is printed to the console: I/O exception (javax.net.ssl.SSLPeerUnverifiedException) caught when processing request: HTTPS hostname invalid: expected 'graph.facebook.com', received '*.facebook.com' Retrying request Regards, Harri On Feb 13, 11:27 am, Lior Harsat lior.har...@gmail.com wrote: I am having a similar problem with https: I have been testing the SDK and I found one bug which seems critical. When I call the URLFetchService.fetch API with a https URL I get a javax.net.ssl.SSLHandshakeException. for example when I fetch https://spreadsheets.google.com/feeds/ list/ I get javax.net.ssl.SSLHandshakeException: Could not verify SSL certificate for:https://spreadsheets.google.com/feeds/list/... When I switch back to an older SDK this doesn't happen. Is there a Help us test Prerelease SDK 1.4.2 thread I can post this to? Can anyone confirm this bug reproduces? Thanx, Lior On Feb 12, 11:57 am, Peter Liu tinyee...@gmail.com wrote: We are using a custom remote delegate to route datastore rpc call to live production test site on appspot. We did this because sometimes we want to develop with live data. However after upgrading to 1.4.2, https outbound call starts failing (see below). If we change to http, then it works again. It seems like some class is marked as restricted in this release. Is it intentional? What's the reason behind not allowing outbound https call? Thanks. java.lang.NoClassDefFoundError: javax.net.ssl.SSLHandshakeException is a restricted class. Please see the Google App Engine developer's guide for more details. at com.google.appengine.tools.development.agent.runtime.Runtime.reject(Runtime .java: 51) at com.google.appengine.api.urlfetch.URLFetchServiceImpl.convertApplicationExc eption(URLFetchServiceImpl.java: 114) at com.google.appengine.api.urlfetch.URLFetchServiceImpl.access $100(URLFetchServiceImpl.java:22)
[appengine-java] possible bug with Blob service
There is example for using Blob service appengine-java-sdk/demos/mediastore There is jsp file upload.jsp If you replace input type=submit name=submit value=Submit with input type=submit name=Add Image value=Add Image you get this exception Uncaught exception from servlet java.lang.IllegalStateException: Must be called from a blob upload callback request. at com.google.appengine.api.blobstore.BlobstoreServiceImpl.getUploadedBlobs(BlobstoreServiceImpl.java: 128) at com.google.appengine.demos.mediastore.UploadPost.doPost(UploadPost.java: 48) at javax.servlet.http.HttpServlet.service(HttpServlet.java:637) 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: 95) 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 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java: 1110) at java.util.concurrent.ThreadPoolExecutor $Worker.run(ThreadPoolExecutor.java:603) at java.lang.Thread.run(Thread.java:636) Unexpected exception from servlet: java.lang.IllegalStateException: Must be called from a blob upload callback request -- 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.
[google-appengine] Re: everything is down
Am I the only one that can't seem to go an entire day anymore without getting a ton of errors for a certain time period? What is going on with appengine that it is so unreliable at times? I'm starting to rethink my decision to go with AppEngine. It's great 90% of the time when it's working, but that 10% of the time is what gives my app a bad reputation to customers and gives them an excuse to bash my app for getting server errors. David -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
[google-appengine] Re: everything is down
yep... constantly datastore timeouts and task errors -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
Re: [google-appengine] Re: everything is down
Are you guys on the standard Master/Slave datastore, or the new High Replication datastore? Nick On 14 February 2011 19:55, Dmitry dmitry.lukas...@gmail.com wrote: yep... constantly datastore timeouts and task errors -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
RE: [google-appengine] Re: everything is down
Master Slave? Or High Rep? just wondering if it matters. From: google-appengine@googlegroups.com [mailto:google-appengine@googlegroups.com] On Behalf Of Dmitry Sent: Monday, February 14, 2011 12:55 AM To: google-appengine@googlegroups.com Subject: [google-appengine] Re: everything is down yep... constantly datastore timeouts and task errors -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
Re: [google-appengine] Re: everything is down
I am on a Standard Master/Slave Girish On Mon, Feb 14, 2011 at 2:36 PM, Nickolas Daskalou n...@daskalou.comwrote: Are you guys on the standard Master/Slave datastore, or the new High Replication datastore? Nick On 14 February 2011 19:55, Dmitry dmitry.lukas...@gmail.com wrote: yep... constantly datastore timeouts and task errors -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en. -- Regards Girish Lakshminarayana Technology Consultant Director, Klea Global (http://www.kleaglobal.com/) Mobile. +919871030744 Skype: anticlickwise Twitter: http://www.twitter.com/anticlickwise Blog: http://www.aboxtothinkoutof.com * * *My Websites * http://www.trackthisnow.com http://www.webtoim.com/site http://www.dealzfull.com -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
Re: [google-appengine] Re: everything is down
Seems ok to me hr datastore 2011/2/14 Girish mail.gir...@gmail.com I am on a Standard Master/Slave Girish On Mon, Feb 14, 2011 at 2:36 PM, Nickolas Daskalou n...@daskalou.comwrote: Are you guys on the standard Master/Slave datastore, or the new High Replication datastore? Nick On 14 February 2011 19:55, Dmitry dmitry.lukas...@gmail.com wrote: yep... constantly datastore timeouts and task errors -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en. -- Regards Girish Lakshminarayana Technology Consultant Director, Klea Global (http://www.kleaglobal.com/) Mobile. +919871030744 Skype: anticlickwise Twitter: http://www.twitter.com/anticlickwise Blog: http://www.aboxtothinkoutof.com * * *My Websites * http://www.trackthisnow.com http://www.webtoim.com/site http://www.dealzfull.com -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en. -- gr Wim den Ouden Custom applications, based on Google App Enginehttps://e-comm1.appspot.com/ . Free open source E-commerce/E-bookkeeping/E-business framework (web) appshttp://code.google.com/p/relat/ . -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
[google-appengine] Re: everything is down
I think the 12 am spike here explains it http://code.google.com/status/appengine/detail/datastore/2011/02/14#ae-trust-detail-datastore-get-latency it seems to be ok now On Feb 14, 2:12 pm, Wim den Ouden wdenou...@gmail.com wrote: Seems ok to me hr datastore 2011/2/14 Girish mail.gir...@gmail.com I am on a Standard Master/Slave Girish On Mon, Feb 14, 2011 at 2:36 PM, Nickolas Daskalou n...@daskalou.comwrote: Are you guys on the standard Master/Slave datastore, or the new High Replication datastore? Nick On 14 February 2011 19:55, Dmitry dmitry.lukas...@gmail.com wrote: yep... constantly datastore timeouts and task errors -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en. -- Regards Girish Lakshminarayana Technology Consultant Director, Klea Global (http://www.kleaglobal.com/) Mobile. +919871030744 Skype: anticlickwise Twitter:http://www.twitter.com/anticlickwise Blog:http://www.aboxtothinkoutof.com * * *My Websites * http://www.trackthisnow.com http://www.webtoim.com/site http://www.dealzfull.com -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en. -- gr Wim den Ouden Custom applications, based on Google App Enginehttps://e-comm1.appspot.com/ . Free open source E-commerce/E-bookkeeping/E-business framework (web) appshttp://code.google.com/p/relat/ . -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
Re: RE: [google-appengine] Re: everything is down
Master/Slave. now seems to be ok... -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
[google-appengine] Re: Not authorized - can't log into appengine
I am having the same problem on my Google Apps for Education domain. Whenever I go to http://appengine.google.com/a/domain, I get the message 'You are not authorized to access this application'. I can get to my admin panel just fine, but if I try to enable App Engine from there, I get the same message. Is there a known solution? -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
Re: RE: [google-appengine] Re: everything is down
again. some datastore errors. ahhr. Our clients hate us 2011-02-14 01:03:36.464 Timeout: The datastore operation timed out, or the data was temporarily unavailable. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
[google-appengine] Re: BadValueError: Error converting pb: meaning: 7
now I'm also getting this sporadically from the admin console: 2011-02-14 02:02:44.815 /admin_console/datastore?kind=Entity 500 79ms 116cpu_ms 116api_cpu_ms 0kb Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_6; en-US) AppleWebKit/534.13 (KHTML, like Gecko) Chrome/ 9.0.597.102 Safari/534.13,gzip(gfe) 62.219.126.27 - alon [14/Feb/2011:02:02:44 -0800] GET /admin_console/ datastore?kind=Entity HTTP/1.1 500 768 http://3.company- proxy.appspot.com/admin_console/datastore Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_6; en-US) AppleWebKit/534.13 (KHTML, like Gecko) Chrome/9.0.597.102 Safari/534.13,gzip(gfe) 3.company- proxy.appspot.com ms=79 cpu_ms=117 api_cpu_ms=117 cpm_usd=0.003427 E 2011-02-14 02:02:44.802 Error converting pb: meaning: 7 name: expires value int64Value: 0x4b21500a798d6 multiple: false Exception was: 'datetime.timedelta' object is not callable Traceback (most recent call last): File /base/python_runtime/python_lib/versions/1/google/appengine/ ext/webapp/__init__.py, line 515, in __call__ handler.get(*groups) File /base/python_runtime/python_lib/versions/1/google/appengine/ ext/admin/__init__.py, line 671, in get result_set, total = self.execute_query() File /base/python_runtime/python_lib/versions/1/google/appengine/ ext/admin/__init__.py, line 616, in execute_query entities = query.Get(start + num)[start:] File /base/python_runtime/python_lib/versions/1/google/appengine/ api/datastore.py, line 1352, in Get batch = batcher.next_batch(limit) File /base/python_runtime/python_lib/versions/1/google/appengine/ datastore/datastore_query.py, line 1105, in next_batch batch = self.__next_batch.get_result() File /base/python_runtime/python_lib/versions/1/google/appengine/ api/apiproxy_stub_map.py, line 534, in get_result return self.__get_result_hook(self) File /base/python_runtime/python_lib/versions/1/google/appengine/ datastore/datastore_query.py, line 1028, in __query_result_hook for result in query_result.result_list()] File /base/python_runtime/python_lib/versions/1/google/appengine/ datastore/datastore_rpc.py, line 110, in pb_to_query_result return self.pb_to_entity(pb) File /base/python_runtime/python_lib/versions/1/google/appengine/ api/datastore.py, line 205, in pb_to_entity return Entity._FromPb(pb) File /base/python_runtime/python_lib/versions/1/google/appengine/ api/datastore.py, line 844, in _FromPb value = datastore_types.FromPropertyPb(prop) File /base/python_runtime/python_lib/versions/1/google/appengine/ api/datastore_types.py, line 1638, in FromPropertyPb 'Error converting pb: %s\nException was: %s' % (pb, msg)) BadValueError: Error converting pb: meaning: 7 name: expires value int64Value: 0x4b21500a798d6 multiple: false Exception was: 'datetime.timedelta' object is not callable -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
[google-appengine] Could not verify SSL certificate
Hi, After installing 1.4.2 I started to recieve the following error. It was working with 1.4.0. javax.net.ssl.SSLHandshakeException: Could not verify SSL certificate for: https://www.googleapis.com/appsmarket/v2sandbox/customerLicense/ BR. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
[google-appengine] Re: Does the Always On feature incur cpu costs when instance is idle?
Did you manage to test this any more Paul? I've just been stung with this again - 3 instances left inert for a couple of days. Three requests which should have consumed 8 seconds of CPU time consumed almost 200 seconds! On Feb 11, 11:41 pm, Paul Verhelst paul.verhe...@cabinetsensesoftware.com wrote: Thanks Barry, that's exactly what I was looking for. There's a bit of a catch-22 situation here though. My app is serving very little traffic at the time and according to the docs, appengine will always serve a load request in that case... and the only solution is to use always on... but once my traffic starts to increase, I can look at this option. thank you Paul -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
Re: [google-appengine] Could not verify SSL certificate
It seems that java can't find the certificate of googleapis.com so it can't validate it, or the CA is not a trusted one. I assume this is happening in the development sdk right? Checkout https://duckduckgo.com/?q=javax.net.ssl.SSLHandshakeException+certificate https://duckduckgo.com/?q=javax.net.ssl.SSLHandshakeException+certificate http://www.webapper.com/blog/index.php/2007/02/09/troubleshooting-javaxnetsslsslhandshakeexception/ On Mon, Feb 14, 2011 at 12:34 PM, Nurettin Omer Hamzaoglu nomerhamzao...@gmail.com wrote: Hi, After installing 1.4.2 I started to recieve the following error. It was working with 1.4.0. javax.net.ssl.SSLHandshakeException: Could not verify SSL certificate for: https://www.googleapis.com/appsmarket/v2sandbox/customerLicense/ BR. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en. -- Mauro Sebastián Asprea E-Mail: mauroasp...@gmail.com Mobile: +34 654297582 Skype: mauro.asprea Algunos hombres ven las cosas como son y se preguntan porque. Otros sueñan cosas que nunca fueron y se preguntan por qué no?. George Bernard Shaw -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
Re: [google-appengine] Re: App Engine SDK 1.4.2 is out!
Thanks Greg - would it be a future possibility to configure the queue algorithm not to do this (on a per-queue basis)? Obviously the low latency heuristic is a good one in most situations, but an app developer might be prepared to wear a slight variation in latency to get guaranteed serialisation. I'm guessing that there are other edge cases which make guaranteeing serialised execution tricky (beyond the task selection algorithm). -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
Re: [google-appengine] MapReduce as Cron jobs: How to specify the number of shards?
Today I updated the mapreduce library. I see the same only 1 shard when I use the dev_server. The dev_server does not have the __scatter__ property of objects. The mapreduce library then falls back to a single shard. And on the production it depends on how many objects have a __scatter__ property. If less then shard_count have __scatter__ you get less shards. GAE Team: What determines if an object gets a __scatter__ property? 2011/2/11 djidjadji djidja...@gmail.com: In your cron_mapreduce.py add these two lines shard_count=int(self.request.get(shard_count, mr_control._DEFAULT_SHARD_COUNT)) mr_control.start_map( self.request.get(name), self.request.get(reader_spec, your_mapreduce.map), self.request.get(reader_parameters, mapreduce.input_readers.DatastoreInputReader), { entity_kind: self.request.get(entity_kind, models.YourModel), processing_rate: int(self.request.get(processing_rate, 100)) }, shard_count = shard_count, mapreduce_parameters={done_callback: self.request.get(done_callback, None) } ) 2011/2/10 Andrin von Rechenberg andri...@gmail.com: Hey there Today I created a library to run MapReduces as cron jobs in python. See here: http://devblog.miumeet.com/2011/02/schedule-mapreduce-daily-on-appengine.html However, I didn't figure out how to I'm able to set the shard_count programmatically. In mapreduce/control.py there is a function I call: def start_map(name, handler_spec, reader_spec, reader_parameters, shard_count=_DEFAULT_SHARD_COUNT, [...]) However, no matter what o I pass as the shard_count argument, it is ignored. Any ideas? Cheers, -Andrin -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
[google-appengine] Upcoming fulltext search
Hi, since the fulltext search is listed on the roadmap I'm curious if there is a trusted tester program yet. I'd like to participate, mainly because of the fact that my use case would not be regular indexing of documents, its a little bit more complicated. Best Regards Philip -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
[google-appengine] QueueConstants.maxTaskSizeBytes()
What is exact meaning of this value: MAX_TASK_SIZE_BYTES = 10240 I don't know if this was new issue with 1.4.2 or simply my misunderstanding. Does this means max task payload or something else ? If it is something else what is then max_task_payload_size and how can I calculate it ? I want to enqueue task with 10192 bytes payload size and gae throws java.lang.IllegalArgumentException: Task size too large -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
[google-appengine] A difficult app engine optimisation problem - selecting distinct entities across a large table
Hi, I was wondering if anyone can help me with this problem. We have an idea we'd like to implement, and we're currently unable to do this efficiently. I've anonymised the data as best as possible, but the structure is the same. We have two entities, Car and CarJourney. Each Car has 0 to many CarJourney's. Each Car Journey has (amongst other properties) a date associated with it - the date the journey was started. I wish to query by time over car journeys. I'll have two times, a start date and an end date, where start date = endDate, and I want to receive the most recently started journey in that period. So, if I had a particular car in mind, say car 123, I'd write a query that limits by Car.key and Car.startDate, where Car.key == 123 and Journey.startDate = startDate and Journey.startDate = endDate with an ordering on Journey.startDate descending and a limit of 1. e.g. Car A has 3 journeys, taken on 1st, 2nd and the 3rd of the month. The query start date is 1st and the query end date is the 2nd. The result of this query would be one Car journey, the 2nd. Once the result of that query is returned, a very small amount of processing is done to return a result to the user. That's the easy bit. But, instead of over 1 Car, I want a list of cars, where the list contains N keys to cars. So, I want to run the above query N times, once for every car. And I want the latest journey for each car. Because the time range is flexible (and thus can't be known beforehand) we can't implement a isMostRecent flag, because while it might be the most recent for now, it might not be the most recent for the specified date parameters. We also need to ensure that this returns promptly (current queries are around the 3-5 second mark for a small set of data) as this goes straight back to the user. This means that we can't use task queues, and because the specified dates are arbitrary we can't implement mass indexing of isWithinDate fields. We tried using an async query, but because the amount of processing is negligible the bottleneck is still the queries on the datastore (because the async api still sends the requests synchronously, it just doesn't block). Ideally, we'd implement this as a select on car journeys ordered by startDate where the Car.key is distinct, but we can't seem to pull this off in GAE. There are numerous small optimisations we can make (for example, some MemCaching of repeated queries) but none have made a significant dent in our query time. And MemCaching can only help for a maximum of 1-2 minutes (due to the inevitable forward march of time!) Any ideas are most welcome and highly appreciated. Thanks, Ed -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
[google-appengine] Having a problem with 2 Legged OAuth
Hi guys, I getting Authorization required when I try to do: client = gdata.contacts.service.ContactsService(source=APPLICATION_SOURCE) client.auth_token = gdata.gauth.TwoLeggedOAuthHmacToken(CONSUMER_KEY, CONSUMER_SECRET, requestor_id) I'm doing this on a task queue, I'm not sure why I get this error, I'm pretty sure that the parameters are right. How can I make another test or debug of this? Thanks in advance -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
[google-appengine] Re: Upcoming changes to Task Queues
It's kind of humorous you guys ended up here with that question. The error message is related to the service that 'app' was written on, and not an error with the App itself. It should clear up on it's own. The person who wrote the 'app' shouldn't be passing that message on to end users, as it's obviously confusing. You should be directing your questions to the creator of the App, not Google. They didn't make the app. Obviously the error says to come here though. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
[google-appengine] _AE_DatastoreAdmin_Operation Entities active_jobs
I used the datastore admin feature to delete all of my entities ... it fires off one job for each entity ... some of the jobs end quickly and others never end ... days later, it still shows active_jobs outstanding ... not sure what to do about it ... ? also, the datastore shows the table _AE_DatastoreAdmin_Operation as an entity with rows and was wondering if i should delete those as well ... ? -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
[google-appengine] datastore building indexes which never finish can't be vacuum'ed
i have two indexes which are showing building (for days) for entities with few instances. they never stop building. when i try vacuum_indexes they say there are not deleted because they likely do not exist. but, they do exist according to the datastore indexes. perhaps they are not deleted because they are being built. how do i stop them from building and/or vacuum them up? not sure if this is related to trying to remove all entities from the datastore and jobs which never end either. i posted on that separately. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
[google-appengine] Re: Error code 203
I am also seeing this and have found no other way to contact the App Engine team as noted. I've added myself to an issue, commenting and starring it, but no response over there either. Just now in the logs from aprigoninjadev.appspot.com 2011-02-14 08:36:39.916 A serious problem was encountered with the process that handled this request, causing it to exit. This is likely to cause a new process to be used for the next request to your application. If you see this message frequently, you should contact the App Engine team. (Error code 203) -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
Re: [google-appengine] MapReduce as Cron jobs: How to specify the number of shards?
This document explains the strategy: http://code.google.com/p/appengine-mapreduce/wiki/ScatterPropertyImplementation It says tht there is a .8% chance of an entity getting this property. That seems really low. I wonder if they meant 8% not .8%? Stephen On Mon, Feb 14, 2011 at 7:12 AM, djidjadji djidja...@gmail.com wrote: Today I updated the mapreduce library. I see the same only 1 shard when I use the dev_server. The dev_server does not have the __scatter__ property of objects. The mapreduce library then falls back to a single shard. And on the production it depends on how many objects have a __scatter__ property. If less then shard_count have __scatter__ you get less shards. GAE Team: What determines if an object gets a __scatter__ property? 2011/2/11 djidjadji djidja...@gmail.com: In your cron_mapreduce.py add these two lines shard_count=int(self.request.get(shard_count, mr_control._DEFAULT_SHARD_COUNT)) mr_control.start_map( self.request.get(name), self.request.get(reader_spec, your_mapreduce.map), self.request.get(reader_parameters, mapreduce.input_readers.DatastoreInputReader), { entity_kind: self.request.get(entity_kind, models.YourModel), processing_rate: int(self.request.get(processing_rate, 100)) }, shard_count = shard_count, mapreduce_parameters={done_callback: self.request.get(done_callback, None) } ) 2011/2/10 Andrin von Rechenberg andri...@gmail.com: Hey there Today I created a library to run MapReduces as cron jobs in python. See here: http://devblog.miumeet.com/2011/02/schedule-mapreduce-daily-on-appengine.html However, I didn't figure out how to I'm able to set the shard_count programmatically. In mapreduce/control.py there is a function I call: def start_map(name, handler_spec, reader_spec, reader_parameters, shard_count=_DEFAULT_SHARD_COUNT, [...]) However, no matter what o I pass as the shard_count argument, it is ignored. Any ideas? Cheers, -Andrin -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
Re: [google-appengine] QueueConstants.maxTaskSizeBytes()
Hi Matija, The maximum task payload size is 10k. http://code.google.com/appengine/docs/java/taskqueue/overview.html#Quotas_and_Limits Try to compress your data or find a more efficient serialization method -- or both. In Python I use bzip to compress 'large' payloads. Robert On Mon, Feb 14, 2011 at 09:51, Matija matija.jerko...@gmail.com wrote: What is exact meaning of this value: MAX_TASK_SIZE_BYTES = 10240 I don't know if this was new issue with 1.4.2 or simply my misunderstanding. Does this means max task payload or something else ? If it is something else what is then max_task_payload_size and how can I calculate it ? I want to enqueue task with 10192 bytes payload size and gae throws java.lang.IllegalArgumentException: Task size too large -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
Re: [google-appengine] datastore building indexes which never finish can't be vacuum'ed
http://code.google.com/p/googleappengine/issues/entry?template=Production%20issue 2011/2/14 James Gilliam jimgill...@gmail.com i have two indexes which are showing building (for days) for entities with few instances. they never stop building. when i try vacuum_indexes they say there are not deleted because they likely do not exist. but, they do exist according to the datastore indexes. perhaps they are not deleted because they are being built. how do i stop them from building and/or vacuum them up? not sure if this is related to trying to remove all entities from the datastore and jobs which never end either. i posted on that separately. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en. -- gr Wim den Ouden Custom applications, based on Google App Enginehttps://e-comm1.appspot.com/ . Free open source E-commerce/E-bookkeeping/E-business framework (web) appshttp://code.google.com/p/relat/ . -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
[google-appengine] ClassNotFoundException: RequestEndListener
Hi, After upgrading to version 1.4.2 of the gae jdk I get the following exception when running my tests: java.lang.NoClassDefFoundError: com/google/appengine/tools/development/ RequestEndListener When google complete class name nothing comes up. Anyone else seen this? Complete stacktrace: java.lang.NoClassDefFoundError: com/google/appengine/tools/development/ RequestEndListener at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632) at java.lang.ClassLoader.defineClass(ClassLoader.java:616) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java: 141) at java.net.URLClassLoader.defineClass(URLClassLoader.java:283) at java.net.URLClassLoader.access$000(URLClassLoader.java:58) at java.net.URLClassLoader$1.run(URLClassLoader.java:197) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:190) at java.lang.ClassLoader.loadClass(ClassLoader.java:307) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) at java.lang.ClassLoader.loadClass(ClassLoader.java:248) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:247) at sun.misc.Service$LazyIterator.next(Service.java:271) at com.google.appengine.tools.development.ApiProxyLocalImpl.startServices(ApiProxyLocalImpl.java: 474) at com.google.appengine.tools.development.ApiProxyLocalImpl.access $600(ApiProxyLocalImpl.java:46) at com.google.appengine.tools.development.ApiProxyLocalImpl $1.run(ApiProxyLocalImpl.java:459) at com.google.appengine.tools.development.ApiProxyLocalImpl $1.run(ApiProxyLocalImpl.java:457) at java.security.AccessController.doPrivileged(Native Method) at com.google.appengine.tools.development.ApiProxyLocalImpl.getService(ApiProxyLocalImpl.java: 456) at com.google.appengine.tools.development.testing.LocalServiceTestHelper.getLocalService(LocalServiceTestHelper.java: 306) at com.google.appengine.tools.development.testing.LocalMailServiceTestConfig.getLocalMailService(LocalMailServiceTestConfig.java: 65) at com.google.appengine.tools.development.testing.LocalMailServiceTestConfig.tearDown(LocalMailServiceTestConfig.java: 32) at com.google.appengine.tools.development.testing.LocalServiceTestHelper.tearDown(LocalServiceTestHelper.java: 268) at org.fornax.cartridges.sculptor.framework.test.AppEngineTestHelper.tearDownAppEngine(AppEngineTestHelper.java: 83) at org.fornax.cartridges.sculptor.framework.test.AbstractAppEngineJpaTests.tearDownAppEngine(AbstractAppEngineJpaTests.java: 56) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java: 39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java: 25) at java.lang.reflect.Method.invoke(Method.java:597) at org.junit.runners.model.FrameworkMethod $1.runReflectiveCall(FrameworkMethod.java:44) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java: 15) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java: 41) at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java: 37) at org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java: 82) at org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java: 72) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java: 240) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java: 44) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:180) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:41) at org.junit.runners.ParentRunner$1.evaluate(ParentRunner.java:173) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java: 28) at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java: 61) at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java: 31) at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java: 70) at org.junit.runners.ParentRunner.run(ParentRunner.java:220) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java: 180) at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java: 49) at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java: 38) at
[google-appengine] Re: My server can't reach app engine for being in a forbidden country (it's in Atlanta)
Is this problem solved? We also have the same problem. We use a VPS server to access our app for users in China (ghs.google.com is blocked there). But now, the link between the VPS server and our app is cut! No access!!! The problem is that, Google doesn't response! On Feb 12, 9:22 am, Max Harper maxhar...@gmail.com wrote: Silence. Google employees, please restore my faith in this service by responding! (even if the response is: you're screwed, get a new VPS) Here's my traceroute, which (using a geo-location service) shows Atlanta = Los Angeles = Mountain View. max@nea:~/tmp$ traceroute maxharp3r-sandbox.appspot.com traceroute to maxharp3r-sandbox.appspot.com (74.125.67.141), 30 hops max, 60 byte packets 1 63.247.74.43 (63.247.74.43) 0.339 ms 0.330 ms 0.379 ms 2 63.247.64.153 (63.247.64.153) 18.540 ms 18.636 ms 18.700 ms 3 209.51.130.209 (209.51.130.209) 0.339 ms 0.349 ms 0.412 ms 4 aix.pr1.atl.google.com (198.32.132.41) 0.814 ms 0.811 ms 0.789 ms 5 72.14.233.56 (72.14.233.56) 0.670 ms 55.190 ms 0.586 ms 6 72.14.239.127 (72.14.239.127) 1.578 ms 72.14.239.131 (72.14.239.131) 23.984 ms 209.85.254.247 (209.85.254.247) 1.125 ms 7 209.85.255.194 (209.85.255.194) 4.928 ms 209.85.255.190 (209.85.255.190) 1.062 ms 209.85.255.198 (209.85.255.198) 4.785 ms 8 gw-in-f141.1e100.net (74.125.67.141) 1.105 ms 1.452 ms 1.934 ms -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
[google-appengine] uploading to the datastore with bulkloader from xml
Hi, I just found out about the bulkloader function in the python sdk, so I installed, and tried it out. (I'm developing in java) I have an xml file, which contains all the information I want to upload (in fact it contains more than I need). so, I have a quite complex xml file, like this: roottag tag1 tag2name1/tag2 tag3list tag3 attr1=type1value1/tag2 tag3 attr1=type2value2/tag2 /tag3list tag4 tag5misc1/tag5 tag6misc2/tag6 /tag4 /tag1 tag1 ... /tag1 ... /roottag and I would like to create these entities: kind1{ name //from tag2, also, this is the key of the entity list.d1 //from attr1 list.d2 //from tag3 data1 // from tag5 data2 // from tag6 } subkind1{ id // auto-generated type //from attr1 value //from tag3 foreignkey // points to kind1 the value is contained in tag2 } Also it would be great if kind1 would have a list property containing the keys of all connecting subkind1, but since subkind1 doesn't have explicit id, I'm not sure if it's even possible. I've read some articles about the topic, but most of them load from csv file, and couldn't even find reference on how to handle attributes. So I think I'm able to map tags to simple properties, but I'm quite lost when it comes to lists, and attributes... Sorry for asking such a direct question, but unfortunately I'm not familiar with Python at all. So is it possible, to load such data to datastore with bulkloader? And if it is, then how? Thanks in advance. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
[google-appengine] Please fix the log viewer
Previously it allowed pressing Next Page when there were no logs for the specified time. Now Next Page is only available when you can see logs, which is very inconvenient in those cases when there are no logs found, but you want to search for the older records. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
[google-appengine] Re: Inconsistent cascading persistence-by-reachability behavior with JDO, App Engine, Data Nucleus, JUnit
I have the exact same problem with a similar domain and relationships: Game - (1-1) - Map - (1-N) - Lands all owned relationships when i save Game sometimes all Lands get saved and sometimes Not What the Hell is going on On 2 Feb, 02:01, Apollo david.moffe...@gmail.com wrote: I'm experimenting with App Engine, using JDO and DataNucleus for persistence. I have a simple domain that includes several unidirectional relationships. The question comes with nesting those relationships: * Civilization -(1-1)- Clan * Civilization -(1-1)- Land * Civilization -(1-1)- Military -(1-N)- Armies (this is inconsistent) * Civilization -(1-N)- Settlement According to the DataNucleus Documentation, persistence-by- reachability semantics should persist everything by cascading on a persist of a Civilization. I have a JUnit test to check the basic storage and retrieval of these objects, but its behavior is inconsistent. With no changes to the code, repeated runs of the test give nondeterministic results. Specifically, the armies only persist about 50% of the time. They are the only test that fails. I could more easily understand a scenario where Armies never persist, but the irregular behavior has me at a loss. Everything else persists correctly and consistently. I've tried wrapping the factory method in a transaction and I've tried bidirectional relationships, and neither have changed the 50/50 pass/fail split in JUnit. I am using Annotation-based configuration for DataNucleus, as described in the App Engine documentation (link not included because of anti-spam measures). My code is posted in our stackoverflow version of this same question: http://stackoverflow.com/questions/4847023/inconsistent-cascading-per... -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
[google-appengine] forbidden country?? US IP!!
My app has been working fine for over 1 year. Now its reporting Google Error Forbidden Your client does not have permission to get URL /webcam/last10.txt from this server. (Client IP address: 66.96.213.34) How do I resolve this? -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
[google-appengine] Re: My server can't reach app engine for being in a forbidden country (it's in Atlanta)
My app is also down for what appears to be an identical situation. I have a US server that retrieves data from my appspot app. The app is reporting the same error forbidden country. I am a paying customer. I use more than the free quota every day and I have no way it seems of contacting google to resolve this. My site has been down for at least 1 day. I have posted an issue with issue tracker but after 7hrs still no response there also. My site has worked for over a year with out any major problems. On Feb 13, 1:54 am, dan dfran...@gmail.com wrote: Thanks for the suggestion. We have no blacklist dos.yaml. Our blacklist shows no rejected visitors in the console. On Saturday, February 12, 2011 6:33:09 AM UTC-8, Jon Smirl wrote: On Sat, Feb 12, 2011 at 9:22 AM, Max Harper maxh...@gmail.com wrote: Silence. Google employees, please restore my faith in this service by responding! (even if the response is: you're screwed, get a new VPS) Not with Google, but maybe it got into your DOS protection file... http://code.google.com/appengine/docs/java/config/dos.html There is a way to add IPs to this from the console. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
[google-appengine] Re: My server can't reach app engine for being in a forbidden country (it's in Atlanta)
I am having exactly the same issue. very frustrated. On Feb 12, 9:40 am, Max Harper maxhar...@gmail.com wrote: Our VPS server (in Atlanta, GA, USA) appears to be blacklisted by app engine (403 errors, forbidden country), causing our app to be functionally down. Help? Details: We stream data to our app engine app from a Linode server, hosted in Atlanta, GA. Our ip address is 74.207.230.***. As of 19 hours ago, we're getting 403s when trying to access pages on our app engine app. Lynx shows: Your client does not have permission to get URL / from this server. (Client IP address: 74.207.230.***) You are accessing this page from a forbidden country. Log messages (403, or otherwise) do not make it to the app engine app console. wget also shows 403s for any of my app engine apps. For instance: max@nea:~/tmp$ wgethttp://maxharp3r-sandbox.appspot.com --2011-02-11 16:32:18-- http://maxharp3r-sandbox.appspot.com/ Resolving maxharp3r-sandbox.appspot.com... 74.125.67.141 Connecting to maxharp3r-sandbox.appspot.com|74.125.67.141|:80... connected. HTTP request sent, awaiting response... 403 Forbidden 2011-02-11 16:32:18 ERROR 403: Forbidden. These urls all work when I'm accessing from my local development machine (in Minneapolis, MN, USA). I'm not quite sure where to turn, since app engine has essentially no support contact. Thanks for your suggestions and help. Max -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
[google-appengine] Re: Prerelease SDK 1.4.2 is available for download
I have the same problem with spreadsheets, though not with feeds such as docs.google.com/feeds/default/private/full it seems. Only occuring when I tried 1.4.2 On Feb 10, 8:57 pm, Lior Harsat lior.har...@gmail.com wrote: Hi Ikai, I have been testing the SDK and I found one bug which seems critical. When I call the URLFetchService.fetch API with a https URL I get a javax.net.ssl.SSLHandshakeException. for example when I fetch https://spreadsheets.google.com/feeds/ list/ I get javax.net.ssl.SSLHandshakeException: Could not verify SSL certificate for:https://spreadsheets.google.com/feeds/list/... When I switch back to an older SDK this doesn't happen. Is there a Help us test Prerelease SDK 1.4.2 thread I can post this to? Can anyone confirm this bug reproduces? Thanx, Lior On Feb 3, 9:31 pm, Ikai Lan (Google) ikai.l+gro...@google.com wrote: Hey everyone, I just wanted to post that the prerelease SDKs for 1.4.2 are now available for early testing: http://code.google.com/p/googleappengine/downloads/list Highlights of this release: - Lots of XMPP improvements - Prospective Search API (formerly known as Matcher API) now available to everyone - Lots of improvements to task queues - vacuum_indexes in Java SDK Full release notes are below. As a reminder, the backend portions of 1.4.2 have not been pushed yet, so they won't likely work (though vacuum_indexes for Java should be working). Download and enjoy! Python - - The XMPP API was updated to include presence and allow subscriptions. - The Task Queue now supports programmatic deleting of tasks. http://code.google.com/p/googleappengine/issues/detail?id=2588 - The maximum rate per queue at which tasks are processed has been increased to 100 tasks per second. - The maximum number of concurrent requests for a single queue can be specified in the application's queue.yaml. This provides an additional easy-to-use form of rate limiting. The current number of running tasks is also displayed in the Admin Console. - Metadata queries in the Datastore now support cursors. - Admin Console logs viewer now displays time as -MM-DD HH:MM:SS.mmm. - Added a warning when an admin tries to upload a queue.yaml where the number of new queues and the number of disabled queues exceeds 100. - Django 1.2.4 is available via use of the use_library() declaration. This version of Django has also been added to the Python SDK. - The Prospective Search API (formerly named the Matcher API) is available for use by all applications. Applications will be limited to a maximum of 1000 subscriptions during the experimental release. - Added builtin support for the deferred library. - If Python Precompilation fails, an error will be printed but the app will still be uploaded. - Added a --disable_sdk_update_check command line flag to the dev_appserver. - The Mail API added KML and KMZ files as allowed attachments. - Fixed an issue where the datastore copy functionality did not work if writes were disabled on the source application. - Fixed an issue where mail from @appid.appspotmail.com did not work when sending mail to app admins. - Fixed an issue where the dev_appserver URLFetch API limit was 16MB. It is now 32 MB to match production. - Fixed a zipimport issue on Windows which was not working due to path separators. http://code.google.com/p/googleappengine/issues/detail?id=2086 - Fixed an issue where the SDK did not enforce the 100 task limit for the Task Queue. http://code.google.com/p/googleappengine/issues/detail?id=3296 - Fixed an issue where Query.order() was broken for properties with the 'name' attribute. http://code.google.com/p/googleappengine/issues/detail?id=3693 - Fixed an unhelpful error message in the Python namespace_manager. http://code.google.com/p/googleappengine/issues/detail?id=3931 Java - - You can now vacuum datastore indexes with the Java SDK. - The XMPP API was updated to include presence and allow subscriptions. - The Task Queue now supports programmatic deleting of tasks. http://code.google.com/p/googleappengine/issues/detail?id=2588 - The maximum rate per queue at which tasks are processed has been increased to 100 task per second. - The maximum number of concurrent requests for a single queue can be specified in the application's queue.xml. This provides an additional easy-to-use form of rate limiting. The current number of running tasks is also displayed in the Admin Console. - Metadata queries in the Datastore now support cursors. - Admin Console logs viewer now displays time as -MM-DD HH:MM:SS.mmm. - Added a warning when an admin tries to upload a queue.yaml where the number of new queues and the number of disabled queues exceeds 100. - Added a putIfUntouched() method to the Memcache API.
[google-appengine] java.lang.ClassNotFoundException: com.google.appengine.tools.enhancer.Enhance
Hi All, As soon as I create a Google Web application project, it immediately reports error: Could not find the main class: com.google.appengine.tools.enhancer.Enhance. Program will exit. In Console- java.lang.NoClassDefFoundError: com/google/appengine/tools/enhancer/ Enhance Caused by: java.lang.ClassNotFoundException: com.google.appengine.tools.enhancer.Enhance at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) Exception in thread main I've downloaded latest eclipse - 3.6 and installed GAE plugin 1.4.2 Also, GAE library is referenced in the project. See screenshot http://imageupload.org/?di=1412975794035 I'm new to GAE, pls help. Thanks -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
[google-appengine] Datastore Viewer no longer display the data
I cannot see any of my data in the datastore viewer in my new apps... All of them say Oops! We couldn't retrieve your list of Kinds. here is the IDs for some of them: lucky-money zhetoy Thanks! Cheers, Zhe -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
[google-appengine] Diagnosing application problems due to increased traffic.
One of the major reasons I went with Google AppEngine over other possible solutions was that I believed that I wouldn't have to worry about capacity issues. If I wrote to the GAE API, my app would work just as well for 10, 100, or 1000 users. My application is the back- end content delivery system for an iPhone application, and when Verizon users started coming online last Thursday my GAE traffic went crazy. Here's a chart: https://skitch.com/smeans/rqugd/dashboard-coolibah-gallery My third-party monitoring service (Pingdom) has reported several outages since then (one of about 55 minutes.) I've authorized plenty of daily budget for my app, and done my best to use memcache, etc. to keep the performance up. Now, I'm afraid to do anything to disturb my application configuration. I haven't made any changes to my inventory, etc. because I don't want to invalidate cache and possibly end up with another major outage like I experienced Friday. How can I separate problems due to Google infrastructure from problems due to my application architecture? -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
[google-appengine] I can no longer see my data in Datastore Viewer...
I cannot see any of my data in the datastore viewer in my new apps... All of them say Oops! We couldn't retrieve your list of Kinds. here is the IDs for some of them: lucky-money zhetoy -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
[google-appengine] Re: Upcoming changes to Task Queues
The app developer doesn't do anything to pass those messages on; that's the default 500 error page for all apps. It is, of course, almost certainly never helpful to direct end users here for help. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
[google-appengine] Can app_cfg display the names of the files being uploaded?
Hi all, Does anyone know if app_cfg can display the list of files being uploaded to the server? Useful to know as feedback. Thoughts? -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
Re: [google-appengine] Re: BadValueError: Error converting pb: meaning: 7
Hi Alon, Looks like you might be giving a bad value to a datetime property. Robert On Mon, Feb 14, 2011 at 06:29, burg burga...@gmail.com wrote: now I'm also getting this sporadically from the admin console: 2011-02-14 02:02:44.815 /admin_console/datastore?kind=Entity 500 79ms 116cpu_ms 116api_cpu_ms 0kb Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_6; en-US) AppleWebKit/534.13 (KHTML, like Gecko) Chrome/ 9.0.597.102 Safari/534.13,gzip(gfe) 62.219.126.27 - alon [14/Feb/2011:02:02:44 -0800] GET /admin_console/ datastore?kind=Entity HTTP/1.1 500 768 http://3.company- proxy.appspot.com/admin_console/datastore Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_6; en-US) AppleWebKit/534.13 (KHTML, like Gecko) Chrome/9.0.597.102 Safari/534.13,gzip(gfe) 3.company- proxy.appspot.com ms=79 cpu_ms=117 api_cpu_ms=117 cpm_usd=0.003427 E 2011-02-14 02:02:44.802 Error converting pb: meaning: 7 name: expires value int64Value: 0x4b21500a798d6 multiple: false Exception was: 'datetime.timedelta' object is not callable Traceback (most recent call last): File /base/python_runtime/python_lib/versions/1/google/appengine/ ext/webapp/__init__.py, line 515, in __call__ handler.get(*groups) File /base/python_runtime/python_lib/versions/1/google/appengine/ ext/admin/__init__.py, line 671, in get result_set, total = self.execute_query() File /base/python_runtime/python_lib/versions/1/google/appengine/ ext/admin/__init__.py, line 616, in execute_query entities = query.Get(start + num)[start:] File /base/python_runtime/python_lib/versions/1/google/appengine/ api/datastore.py, line 1352, in Get batch = batcher.next_batch(limit) File /base/python_runtime/python_lib/versions/1/google/appengine/ datastore/datastore_query.py, line 1105, in next_batch batch = self.__next_batch.get_result() File /base/python_runtime/python_lib/versions/1/google/appengine/ api/apiproxy_stub_map.py, line 534, in get_result return self.__get_result_hook(self) File /base/python_runtime/python_lib/versions/1/google/appengine/ datastore/datastore_query.py, line 1028, in __query_result_hook for result in query_result.result_list()] File /base/python_runtime/python_lib/versions/1/google/appengine/ datastore/datastore_rpc.py, line 110, in pb_to_query_result return self.pb_to_entity(pb) File /base/python_runtime/python_lib/versions/1/google/appengine/ api/datastore.py, line 205, in pb_to_entity return Entity._FromPb(pb) File /base/python_runtime/python_lib/versions/1/google/appengine/ api/datastore.py, line 844, in _FromPb value = datastore_types.FromPropertyPb(prop) File /base/python_runtime/python_lib/versions/1/google/appengine/ api/datastore_types.py, line 1638, in FromPropertyPb 'Error converting pb: %s\nException was: %s' % (pb, msg)) BadValueError: Error converting pb: meaning: 7 name: expires value int64Value: 0x4b21500a798d6 multiple: false Exception was: 'datetime.timedelta' object is not callable -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
Re: [google-appengine] Inviting another developer
If they are using a google apps account, they should click the second link (like the email states). You might need to re-invite them. Robert On Sun, Feb 13, 2011 at 22:35, Michael Green rilkeanm...@gmail.com wrote: I'm having trouble adding another developer to my application. I invite them and they receive an e-mail. However, when they click the e-mail it states that they are Not authorized to access this application. There is a second link in their invite that says they can login to their Google Account and accept the invitation that way. When they login, there is no indication that there is a pending invite. Can somebody tell me what I'm missing? Thanks! -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
Re: [google-appengine] Diagnosing application problems due to increased traffic.
What is that chart, QPS? If you're hitting issues at one or two QPS, there is very probably a design problem with your app. Use Appstats and try to figure out what's going wrong. Maybe you're doing a bunch of RPCs serially. Check your logs for errors. Robert On Sun, Feb 13, 2011 at 18:34, smeans sme...@gmail.com wrote: One of the major reasons I went with Google AppEngine over other possible solutions was that I believed that I wouldn't have to worry about capacity issues. If I wrote to the GAE API, my app would work just as well for 10, 100, or 1000 users. My application is the back- end content delivery system for an iPhone application, and when Verizon users started coming online last Thursday my GAE traffic went crazy. Here's a chart: https://skitch.com/smeans/rqugd/dashboard-coolibah-gallery My third-party monitoring service (Pingdom) has reported several outages since then (one of about 55 minutes.) I've authorized plenty of daily budget for my app, and done my best to use memcache, etc. to keep the performance up. Now, I'm afraid to do anything to disturb my application configuration. I haven't made any changes to my inventory, etc. because I don't want to invalidate cache and possibly end up with another major outage like I experienced Friday. How can I separate problems due to Google infrastructure from problems due to my application architecture? -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
Re: [google-appengine] Can app_cfg display the names of the files being uploaded?
Hi Devraj, On thought: running with --verbose will give you details of which files are being processed / ignored. Robert On Mon, Feb 14, 2011 at 12:58, Devraj Mukherjee dev...@gmail.com wrote: Hi all, Does anyone know if app_cfg can display the list of files being uploaded to the server? Useful to know as feedback. Thoughts? -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
Re: RE: [google-appengine] Re: everything is down
Now there seems to be a problem with the serving clusters: Request was aborted after waiting too long to attempt to service your request. This may happen sporadically when the App Engine serving cluster is under unexpectedly high or uneven load. If you see this message frequently, please contact the App Engine team. On 14 February 2011 04:22, Dmitry dmitry.lukas...@gmail.com wrote: again. some datastore errors. ahhr. Our clients hate us 2011-02-14 01:03:36.464 Timeout: The datastore operation timed out, or the data was temporarily unavailable. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en. -- http://about.me/david.mora -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
[google-appengine] Re: A difficult app engine optimisation problem - selecting distinct entities across a large table
Can you do filtering in memory? This query would give you all of the journeys for a list of cars within the date range: carlist = ['123','333','543','753','963','1236'] start_date = datetime.datetime(2011, 1, 30) end_date = datetime(2011, 2, 10) journeys = Journey.all().filter('start ', start_date).filter('start ', end_date).filter('car IN', carlist).order('-start').fetch(100) len(journeys) 43 # - since it's less than 100 I know I've gotten them all then since the list is sorted I know the first entry per car is the most recent journey: results = {} for journey in journeys: ... if journey.car in results: ... continue ... results[journey.car] = journey len(results) 6 for result in results.values(): ... print(%s : %s % (result.car, result.start)) 753 : 2011-02-09 12:38:48.887976 1236 : 2011-02-06 13:59:35.221003 963 : 2011-02-08 14:03:54.587609 333 : 2011-02-09 10:40:09.466700 543 : 2011-02-09 15:28:53.197123 123 : 2011-02-09 14:09:02.680870 -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
Re: [google-appengine] QueueConstants.maxTaskSizeBytes()
There is not problem with task payload size. I only need to know exactly what is limit. For me it is same to test if (task.length maxTaskSizeBytes()) or if (task.length 1). I am using Vince Bonfanti's slightly modified Deferred class and if task payload size is above maxTaskSizeBytes() it is stored in datastore. But task enqueue is preferred operation instead of datastore store and delete statement. Matija. On Mon, Feb 14, 2011 at 6:12 PM, Robert Kluin robert.kl...@gmail.comwrote: Hi Matija, The maximum task payload size is 10k. http://code.google.com/appengine/docs/java/taskqueue/overview.html#Quotas_and_Limits Try to compress your data or find a more efficient serialization method -- or both. In Python I use bzip to compress 'large' payloads. Robert On Mon, Feb 14, 2011 at 09:51, Matija matija.jerko...@gmail.com wrote: What is exact meaning of this value: MAX_TASK_SIZE_BYTES = 10240 I don't know if this was new issue with 1.4.2 or simply my misunderstanding. Does this means max task payload or something else ? If it is something else what is then max_task_payload_size and how can I calculate it ? I want to enqueue task with 10192 bytes payload size and gae throws java.lang.IllegalArgumentException: Task size too large -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
Re: [google-appengine] Re: A difficult app engine optimisation problem - selecting distinct entities across a large table
Are you using .asList (which I think blocks like you describe), but I thought asIterable or asIterator wasn't suppose to. (if you're using Java). On Mon, Feb 14, 2011 at 12:38 PM, Edward Hartwell Goose ed.go...@gmail.comwrote: Hi Calvin Stephen, Thanks for the ideas. Calvin: We can't do the filtering in memory. We potentially have a car making a journey (the car analogy isn't so good...) making a journey every 3 seconds, and we could have up to 2,000 cars. We need to be able to look back up to 2 months, so it could be up to 1.8 billion rows in this table. Stephen: That's an interesting idea. However the Asynchronous api actually fires the requests synchronously, it just doesn't block. (Or at least, that's my experience). So, at the moment we fire off 1 query (which Google turns into 2) for each site. And although the method call returns instantly, it still takes ~5 seconds in total with basic test data. If each call takes 12ms, we still have to wait 24 seconds for 2,000 sites. So, the first call starts at time 0, the second call starts at 0+12, the third at 0+12+12... etc. With 2,000 sites, this works out about 24 seconds. Once you've added in the overheads and getting the list of Cars in the first place, it's too long. If we could start even 100 queries at the same time of time 0, that'd be superb. We thought we could do it with multithreading, but that's not allowed on App Engine. Finally - I've also posted this on StackOverflow - http://stackoverflow.com/questions/4993744/selecting-distinct-entities-across-a-large-google-app-engine-table/4994494#4994494 I'll try and keep both updated. Any more thoughts welcome! Ed On Feb 14, 6:47 pm, Calvin calvin.r...@gmail.com wrote: Can you do filtering in memory? This query would give you all of the journeys for a list of cars within the date range: carlist = ['123','333','543','753','963','1236'] start_date = datetime.datetime(2011, 1, 30) end_date = datetime(2011, 2, 10) journeys = Journey.all().filter('start ', start_date).filter('start ', end_date).filter('car IN', carlist).order('-start').fetch(100) len(journeys) 43 # - since it's less than 100 I know I've gotten them all then since the list is sorted I know the first entry per car is the most recent journey: results = {} for journey in journeys: ... if journey.car in results: ... continue ... results[journey.car] = journey len(results) 6 for result in results.values(): ... print(%s : %s % (result.car, result.start)) 753 : 2011-02-09 12:38:48.887976 1236 : 2011-02-06 13:59:35.221003 963 : 2011-02-08 14:03:54.587609 333 : 2011-02-09 10:40:09.466700 543 : 2011-02-09 15:28:53.197123 123 : 2011-02-09 14:09:02.680870 -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
Re: [google-appengine] Re: A difficult app engine optimisation problem - selecting distinct entities across a large table
Or maybe it blocks on different result sets just not on getting the next fetch block?? Hmmm. Sounds like a tough problem. On Mon, Feb 14, 2011 at 2:09 PM, Stephen Johnson onepagewo...@gmail.comwrote: Are you using .asList (which I think blocks like you describe), but I thought asIterable or asIterator wasn't suppose to. (if you're using Java). On Mon, Feb 14, 2011 at 12:38 PM, Edward Hartwell Goose ed.go...@gmail.com wrote: Hi Calvin Stephen, Thanks for the ideas. Calvin: We can't do the filtering in memory. We potentially have a car making a journey (the car analogy isn't so good...) making a journey every 3 seconds, and we could have up to 2,000 cars. We need to be able to look back up to 2 months, so it could be up to 1.8 billion rows in this table. Stephen: That's an interesting idea. However the Asynchronous api actually fires the requests synchronously, it just doesn't block. (Or at least, that's my experience). So, at the moment we fire off 1 query (which Google turns into 2) for each site. And although the method call returns instantly, it still takes ~5 seconds in total with basic test data. If each call takes 12ms, we still have to wait 24 seconds for 2,000 sites. So, the first call starts at time 0, the second call starts at 0+12, the third at 0+12+12... etc. With 2,000 sites, this works out about 24 seconds. Once you've added in the overheads and getting the list of Cars in the first place, it's too long. If we could start even 100 queries at the same time of time 0, that'd be superb. We thought we could do it with multithreading, but that's not allowed on App Engine. Finally - I've also posted this on StackOverflow - http://stackoverflow.com/questions/4993744/selecting-distinct-entities-across-a-large-google-app-engine-table/4994494#4994494 I'll try and keep both updated. Any more thoughts welcome! Ed On Feb 14, 6:47 pm, Calvin calvin.r...@gmail.com wrote: Can you do filtering in memory? This query would give you all of the journeys for a list of cars within the date range: carlist = ['123','333','543','753','963','1236'] start_date = datetime.datetime(2011, 1, 30) end_date = datetime(2011, 2, 10) journeys = Journey.all().filter('start ', start_date).filter('start ', end_date).filter('car IN', carlist).order('-start').fetch(100) len(journeys) 43 # - since it's less than 100 I know I've gotten them all then since the list is sorted I know the first entry per car is the most recent journey: results = {} for journey in journeys: ... if journey.car in results: ... continue ... results[journey.car] = journey len(results) 6 for result in results.values(): ... print(%s : %s % (result.car, result.start)) 753 : 2011-02-09 12:38:48.887976 1236 : 2011-02-06 13:59:35.221003 963 : 2011-02-08 14:03:54.587609 333 : 2011-02-09 10:40:09.466700 543 : 2011-02-09 15:28:53.197123 123 : 2011-02-09 14:09:02.680870 -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
[google-appengine] advice on how to send mails to addresses on vtext.com domain
Hello I am trying to send email to phonenum...@vtext.com using google app enigne. My problem is that GAE adds a return-path header to all outgoing mail which can not be overridden. Verizon on the other hand displays the value of the return-path header as the from address. This creates all sorts of problems, but primarily users can not respond to my messages as the response will go, if it does go anywhere, to the bounce back address GAE puts in the return-path header. Is there a way to prevent addition of the return path header or prevent Verizon from showing the wrong value in the from field? I am also considering to use a different mail service to send messages from my application hosted on GAE. Now I know GAE prevents me from using a different SMTP server but i could still use some sought of a web-service/url to send mails out. Are there any recommendations on which external mail service provider I could use which wouldn't have similar problems and has a web-service/ url to send mails? Thank You Sandeep -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
[google-appengine] Re: A difficult app engine optimisation problem - selecting distinct entities across a large table
I have faced same kind of problem some time ago. I tried some of the solutions suggested here (in memory sort and filtering, encoding things into keys etc. and I have benchmarked those for both latency and cpu cycles using some test data around 100K entities) An other approach I have taken is encoding the date as an integer (day since start of epoch or day since start of year, same for hour of day or month depending on how much detail you need in your output) and saving this into a property. This way you turn your date query filter into an equality only filter which does not even needs to specify an index) then you can sort or filter on other properties. Benchmarking the latest solution I have found that when the filtered result set is a small fraction of the unfiltered original set, is 1+ order of magnitude faster and cpu-eficient. Worst case when no reduction of the result set due to filtering the latency and cpu usage was comparable to the previous solutions) Hope this helps, or did I missed something ? Happy coding-:) On Feb 14, 11:51 pm, Stephen Johnson onepagewo...@gmail.com wrote: Okay I think I got something that might work. Reverse the StartDate and CarId for the key from what I said above so the key would look like this: 2011:02:14:17:13:33:123 and the KEYS ONLY query then is: select __key__ where __key__ = MAKEKEY(StartDate + CarId) __key__ = MAKEKEY(EndDate + CarId) order by __key__ DESC Now, you can use the Async query to start processing. You're going to get entries that you're not interested in but you're only getting the key field back and not the whole CarJourney entry and this key/id has the Date and Car ID, so the first time you hit a Car ID for each Car then you have the ID for the latest CarJourney for that car. Now, once you've found all car ID's your looking for you can abort the query or you'll reach the end of the query results. Now, as you're looping, store the KEYs of the entries your looking for and then do a batch GET on memcache to retrieve as many Car (you've got the car id) and CarJourney (you've got the carjourney id) entries that might be stored there and then for any that you didn't get from memcache, you can do a batch GET on the datastore using the keys/ids that you have. I think that if you memcache things appropriately and use the batch gets for memcache and datastore then this might just work for you. Let me know what you think. It's an interestng problem, Stephen On Mon, Feb 14, 2011 at 2:12 PM, Stephen Johnson onepagewo...@gmail.comwrote: Or maybe it blocks on different result sets just not on getting the next fetch block?? Hmmm. Sounds like a tough problem. On Mon, Feb 14, 2011 at 2:09 PM, Stephen Johnson onepagewo...@gmail.comwrote: Are you using .asList (which I think blocks like you describe), but I thought asIterable or asIterator wasn't suppose to. (if you're using Java). On Mon, Feb 14, 2011 at 12:38 PM, Edward Hartwell Goose ed.go...@gmail.com wrote: Hi Calvin Stephen, Thanks for the ideas. Calvin: We can't do the filtering in memory. We potentially have a car making a journey (the car analogy isn't so good...) making a journey every 3 seconds, and we could have up to 2,000 cars. We need to be able to look back up to 2 months, so it could be up to 1.8 billion rows in this table. Stephen: That's an interesting idea. However the Asynchronous api actually fires the requests synchronously, it just doesn't block. (Or at least, that's my experience). So, at the moment we fire off 1 query (which Google turns into 2) for each site. And although the method call returns instantly, it still takes ~5 seconds in total with basic test data. If each call takes 12ms, we still have to wait 24 seconds for 2,000 sites. So, the first call starts at time 0, the second call starts at 0+12, the third at 0+12+12... etc. With 2,000 sites, this works out about 24 seconds. Once you've added in the overheads and getting the list of Cars in the first place, it's too long. If we could start even 100 queries at the same time of time 0, that'd be superb. We thought we could do it with multithreading, but that's not allowed on App Engine. Finally - I've also posted this on StackOverflow - http://stackoverflow.com/questions/4993744/selecting-distinct-entitie... I'll try and keep both updated. Any more thoughts welcome! Ed On Feb 14, 6:47 pm, Calvin calvin.r...@gmail.com wrote: Can you do filtering in memory? This query would give you all of the journeys for a list of cars within the date range: carlist = ['123','333','543','753','963','1236'] start_date = datetime.datetime(2011, 1, 30) end_date = datetime(2011, 2, 10) journeys = Journey.all().filter('start ', start_date).filter('start ', end_date).filter('car IN', carlist).order('-start').fetch(100) len(journeys) 43 # - since it's less than 100 I know I've gotten them all
Re: [google-appengine] Re: A difficult app engine optimisation problem - selecting distinct entities across a large table
Hi Ed, I think Stephen's most recent idea (key name as date + car id) might work well. I have a suggestion that is somewhat similar to Nick's idea. How wide and variable is the query window? How variable are the occurrences of car journey data? Once a car starts having journeys, will it continue having journeys for a (relatively) long time? You said there would be up to 2,000 cars, are new cars frequently introduced and old cars removed? Depending on those questions, perhaps you could build your own index. Think about an entity that stores a (non-indexed) list of cars / car journeys. If you make the key_name for that entity lower resolution than the start time, you store the most recent journey for each car. If you construct these entities properly, then you could easily build a list of the keys needed to completely enclose a particular query window by fetching a small number of these lists. If you also create higher-level groups, you can also efficiently query over very large periods of time. The key names might look something like: 201102151430: 15 Feb 2011 14:30: Journeys that occurred between 14:25 and 14:30. 2011021514: 15 Feb 2011 14: Journeys that occurred from 13:01 to 14:00 20110215: 15 Feb 2011: Journeys that occurred on 15 Feb 2011 etc... You might use a list of tuples on the entity that stores the car id, journey id, and start time. That will allow you to efficiently fetch the cars and the journeys and correctly combine and filter the results in memory when you need more than one index entity. You would need to construct the key names based on your query windows. With some planning, the technique work very well even for 'continuous' query windows that are highly variable in size. I've used this technique for reporting and am very pleased with it. It is also relatively easy to implement. You just need a background process that maintains your indexes, it can be (almost) real-time or an offline background process. Robert On Mon, Feb 14, 2011 at 18:53, nickmilon nickmi...@gmail.com wrote: I have faced same kind of problem some time ago. I tried some of the solutions suggested here (in memory sort and filtering, encoding things into keys etc. and I have benchmarked those for both latency and cpu cycles using some test data around 100K entities) An other approach I have taken is encoding the date as an integer (day since start of epoch or day since start of year, same for hour of day or month depending on how much detail you need in your output) and saving this into a property. This way you turn your date query filter into an equality only filter which does not even needs to specify an index) then you can sort or filter on other properties. Benchmarking the latest solution I have found that when the filtered result set is a small fraction of the unfiltered original set, is 1+ order of magnitude faster and cpu-eficient. Worst case when no reduction of the result set due to filtering the latency and cpu usage was comparable to the previous solutions) Hope this helps, or did I missed something ? Happy coding-:) On Feb 14, 11:51 pm, Stephen Johnson onepagewo...@gmail.com wrote: Okay I think I got something that might work. Reverse the StartDate and CarId for the key from what I said above so the key would look like this: 2011:02:14:17:13:33:123 and the KEYS ONLY query then is: select __key__ where __key__ = MAKEKEY(StartDate + CarId) __key__ = MAKEKEY(EndDate + CarId) order by __key__ DESC Now, you can use the Async query to start processing. You're going to get entries that you're not interested in but you're only getting the key field back and not the whole CarJourney entry and this key/id has the Date and Car ID, so the first time you hit a Car ID for each Car then you have the ID for the latest CarJourney for that car. Now, once you've found all car ID's your looking for you can abort the query or you'll reach the end of the query results. Now, as you're looping, store the KEYs of the entries your looking for and then do a batch GET on memcache to retrieve as many Car (you've got the car id) and CarJourney (you've got the carjourney id) entries that might be stored there and then for any that you didn't get from memcache, you can do a batch GET on the datastore using the keys/ids that you have. I think that if you memcache things appropriately and use the batch gets for memcache and datastore then this might just work for you. Let me know what you think. It's an interestng problem, Stephen On Mon, Feb 14, 2011 at 2:12 PM, Stephen Johnson onepagewo...@gmail.comwrote: Or maybe it blocks on different result sets just not on getting the next fetch block?? Hmmm. Sounds like a tough problem. On Mon, Feb 14, 2011 at 2:09 PM, Stephen Johnson onepagewo...@gmail.comwrote: Are you using .asList (which I think blocks like you describe), but I thought asIterable or asIterator wasn't
Re: [google-appengine] _AE_DatastoreAdmin_Operation Entities active_jobs
Hi James, Check your logs and task-queue. Are there tasks that are failing? Are you actively adding data to the kinds you're trying to delete? If you're done running jobs, deleting the _AE_DatastoreAdmin_Operation entities should not hurt anything. Robert On Mon, Feb 14, 2011 at 11:34, James Gilliam jimgill...@gmail.com wrote: I used the datastore admin feature to delete all of my entities ... it fires off one job for each entity ... some of the jobs end quickly and others never end ... days later, it still shows active_jobs outstanding ... not sure what to do about it ... ? also, the datastore shows the table _AE_DatastoreAdmin_Operation as an entity with rows and was wondering if i should delete those as well ... ? -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
Re: [google-appengine] Convert an App from MS to HR
Just a note: you won't be able to reclaim the app id if you delete it. If you want to keep the app-id, I'd wait until Ikai (or another googler) responds with a solution. Also, there is an IRC office hour this Wednesday at 9AM PST. If you haven't heard from them by then, you might pop in and try to catch one of them. Robert On Tue, Feb 15, 2011 at 00:13, Brandon Wirtz drak...@digerat.com wrote: So I have my code running on HR now, instead of MS, and have about 10 apps I need to switch. My question is, is there a way to do this from the dashboard or somewhere else? If not, is there a good way to delete an app, and reclaim my app name after? Do I have to wait the 72 hours? I am leaning towards, Deploy to a temp app, delete the old app, wait 72 hours, reinstate the old app but saying HR instead of MS. But I don’t yet know if I can still get my name back after deleting, or if when I set the app up again if it will ask me HR or MS. Any recommendations? -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
RE: [google-appengine] Convert an App from MS to HR
That's very good to know. It won't be the end of the world to rename... but I get some traffic via the appname.appspot.com url, and it would be nice to keep. By the way, it could be my imagination, I haven't been running long enough to tell, but I swear Memcache is faster on HR, (or something is) because my hits are faster on HR than they were on MS even if my misses are slower (which they don't seem to be by much). -Original Message- From: google-appengine@googlegroups.com [mailto:google-appengine@googlegroups.com] On Behalf Of Robert Kluin Sent: Monday, February 14, 2011 9:35 PM To: google-appengine@googlegroups.com Subject: Re: [google-appengine] Convert an App from MS to HR Just a note: you won't be able to reclaim the app id if you delete it. If you want to keep the app-id, I'd wait until Ikai (or another googler) responds with a solution. Also, there is an IRC office hour this Wednesday at 9AM PST. If you haven't heard from them by then, you might pop in and try to catch one of them. Robert On Tue, Feb 15, 2011 at 00:13, Brandon Wirtz drak...@digerat.com wrote: So I have my code running on HR now, instead of MS, and have about 10 apps I need to switch. My question is, is there a way to do this from the dashboard or somewhere else? If not, is there a good way to delete an app, and reclaim my app name after? Do I have to wait the 72 hours? I am leaning towards, Deploy to a temp app, delete the old app, wait 72 hours, reinstate the old app but saying HR instead of MS. But I don’t yet know if I can still get my name back after deleting, or if when I set the app up again if it will ask me HR or MS. Any recommendations? -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
[google-appengine] Google Apps Engine IP Address
Hello - I am having an app developed which accesses a third party API and they require me to provide my server IP address to validate the calls. Does google apps engine provide a static IP address? As its always creating some issues. When we ping the server we get 72.14.194.49 but this week the IP addresses are not matching... Kind Regards PlayBaaju -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
[google-appengine] Re: LIFO key name strategy?
I am not sure about the mathematics of it, but intuitively there is no perfect algorithm for constructing timestamps in a reverse lexicographical ordering, because adding a character to a string will always make it lexicographically superior. But I noticed the mapreduce library just pick a ridiculously future time and go in reverse order from there: http://code.google.com/p/appengine-mapreduce/source/browse/trunk/python/src/mapreduce/model.py#190 The library also add a random string to reduce the chance of duplicates, maybe that can be replaced by an UUID if you're really concerned by uniqueness. On Feb 14, 5:57 am, Joseph Letness joe.letn...@gmail.com wrote: Hi Calvin and Robert, thanks for your replies. I should have been more clear about what I am doing, here is some more info: Calvin, thanks for the link to Ikai's blog post, I haven't seen that one and it was very interesting. Robert, here are specific answers to your questions: Why do you say: I can't use a composite index since it would explode with my use case? I'm using Brett Slatkin's Relation Index method of building and querying set memberships (Google I/O 2009 - Building Scalable, Complex Apps on App Engine). According to Brett, using a composite index on this kind would cause explosion, so any ordering of results will need to be done in-memory during the request. If the sort order is immutable, sorted key names can be used to order results based on the their lexicographical position. Since a creation timestamp is immutable data, I figured that using lexicographic key names would be the way to go. What would be fine if you could handle your entire result set in one request? Ordering the result set in-memory. What are you trying to do? The app is a digital-asset manager. Users need to be able to query a set (using the relation index method) and have the results return the most recent additions first. The result set could easily be a few thousand, so I want to use cursor-pagination to display the results which would preclude any in-memory ordering. (I'm actually refactoring my existing app that I use to manage/deliver graphic assets to my clients so that they can add their own data.) Is there a single global LIFO stack, or are there multiple stacks? The entities are all of the same kind, however, LIFO behavior is localized to individual user groups. How are new items added to the stack(s)?, What is the addition rate? Just one item per user request. User groups would be just a few individual users probably less than twenty. The rate per group would be so low that chances of contention on any sort of accumulator would be almost nonexistent. Is there a requirement that the items are precisely ordered or are some (or small) mis-orderings acceptable? Precision is NOT critical. Close approximation of chronology is just fine. --The auto-generated ids are not strictly increasing I did not know that. Thanks! --Using the current time may also be problematic since the machines will have slight variations, and in some cases significant variations. I was aware of that, but since absolute precision is not necessary I could still use the timestamp as an accumulator if there is some thing as an inverse-timestamp algorithm!?!? So... After spending some more time thinking about this, here is what I plan to do: Create a counter model kind that is created with an IntegerProperty starting value of ten billion (I'd like to see somebody reach the bottom of that!). Give each user group it's own counter and de-count the values in a transaction (or not, it might be simpler to dismiss contention and write a handler that ensures uniqueness of the key name but maintains approximate lexicographic position). When the counter value is read, convert the value to a padded string and concatenate it with the user group name and a leading lowercase letter (k999836/ usergroupname) and use that as the key name for the new asset. Furthermore, it occurred to me that as a result set is reduced to a manageable in-memory size, I could test for the length of results and offer the user the ability to custom order their results (asset name alphanumeric or asset kind, for example). Just a thought. Thanks again for the replies, If anyone thinks there is a better approach please let me know, I kind of make this stuff up as I go along.. --Joe On Feb 12, 10:52 pm, Robert Kluin robert.kl...@gmail.com wrote: Hi Joe, What are you actually trying to do? Is there a single global LIFO stack, or are there multiple stacks? How are new items added to the stack(s)? In batches to one stack at a time, batches across stacks? What is the addition rate? How are items removed / processed from the stack(s)? Is there a requirement that the items are precisely ordered or are some (or small) mis-orderings acceptable? Why do you say: I can't use a composite index since it
RE: [google-appengine] Google Apps Engine IP Address
You will need to use a proxy, for a lot of reasons. The IP of Fetch changes, but also because if I fetch, and you fetch we may both fetch from the same IP. Which is why doing a fetch from GAE to Amazon and several other places often results in sadness. From: google-appengine@googlegroups.com [mailto:google-appengine@googlegroups.com] On Behalf Of PlayBaaju Sent: Monday, February 14, 2011 9:57 PM To: google-appengine@googlegroups.com Subject: [google-appengine] Google Apps Engine IP Address Hello - I am having an app developed which accesses a third party API and they require me to provide my server IP address to validate the calls. Does google apps engine provide a static IP address? As its always creating some issues. When we ping the server we get 72.14.194.49 but this week the IP addresses are not matching... Kind Regards PlayBaaju -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
[google-appengine] Delivering SVG dynamically (through XFORMS)
I am exploring SVG and XFORMS based on the example from the XFORMS wikibookhttp://en.wikibooks.org/wiki/XForms/SVG and XSLTFORMS as the client side XFORMS 'engine'. This example works fine locally using the app engine launcher with svg files being rendered as expected within the Chrome browser, but the deployed application delivers a working XFORM but no SVG images. The files are all handled as static in this example so I guess that something is going awry with the mime type. Set to image/svg+xml in the relevant XFORM. xf:output id=svgimg value=xf:serialize(instance('inlinesvg')) mediatype=image/svg+xml/ If I just reference the svg files directly from the server (eg soundings01.appspot.com/xsltforms/svg/Wii.svg) then the file is offered as a download not as a rendered image on browser (Chrome) but if I open the local file in the browser it renders the image as expected. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en. wikisvg.xml Description: XML document