[appengine-java] Re: Does the SDK in WEB-INF/lib Get Deployed?
Are you using multithreading? That reduced our number of instances (and starting instances) significantly. -- 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] DatastoretimeExceptions
It is master/slave. Now, I am not seeing those exceptions. Thanks -Aswath On Wed, Aug 17, 2011 at 1:00 AM, Ikai Lan (Google) ika...@google.comwrote: Aswath, is your application on master/slave or high replication? -- Ikai Lan Developer Programs Engineer, Google App Engine plus.ikailan.com | twitter.com/ikai On Tue, Aug 9, 2011 at 3:59 AM, Aswath Satrasala aswath.satras...@gmail.com wrote: Hello All, Recently for the past 2-3 days, I see the logs with DatastoreTimeoutExceptions. Anyone experiencing the same... -Aswath www.AccountingGuru.in. -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-java@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-java@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-java@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
[appengine-java] Java PaaS shoutout
Hi guys, I just stumbled upon this article: http://www.ibm.com/developerworks/java/library/j-paasshootout Are these constraints/limitations still valid? (the article date is April 2011) GAE forces any application-initiated connection to close after 5 to 10 seconds But its raw performance is often slow.. ..GAE often takes 1 to 3 seconds to respond to database-related requests. One tip: Set up a cron job inside GAE to load your own website every 2 to 3 minutes to keep the JVM active. GAE limits the returned dataset of each query to 1,000 rows GAE allows only 100 indexes per table GAE provides no easy way to delete indexes that are no longer in use doesn't support free text search in the database no standard API for directly accessing BigTable, you must write data- import and data-export logic into servlets inside your own application, and use your own web interface to import or export data some of the components in GAE still feel experimental rather than production-ready -- 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: Java PaaS shoutout
Comments below - I'd say that the person who wrote the article did very little research, or was using some very out of date resources, if that article was really written in Feb this year. On Thursday, 18 August 2011 10:57:34 UTC+1, Thomas Wiradikusuma wrote: Hi guys, I just stumbled upon this article: http://www.ibm.com/developerworks/java/library/j-paasshootout Are these constraints/limitations still valid? (the article date is April 2011) GAE forces any application-initiated connection to close after 5 to 10 seconds URLFetch requests have the following constaints: * By default, the deadline for a fetch is 5 seconds. The maximum deadline is 10 seconds for HTTP requests and 10 minutes for task queue and cron job requests.* I'm not aware of any timeout for datastore connections, other than the fact that the datastore operation needs to occur within the 30 seconds, for a user's web request, or within 10 minutes, for cron and task queue operations. But its raw performance is often slow.. ..GAE often takes 1 to 3 seconds to respond to database-related requests. Almost all of my datastore operations happen within 10s of milliseconds, although this obviously depends on the datastore operation which is taking place and whether you're querying a vast amount of data. If it often took that long for database requests, no one would use it! To be fair to the author, at the time of writing they may have been experiencing a lot of database latency spikes, as only the Master/Slave datastore was available at that time. Since May, the High Replication datastore has been available which has removed a vast majority of these spikes. One tip: Set up a cron job inside GAE to load your own website every 2 to 3 minutes to keep the JVM active. Or pay and have Always On, which has been around since last December. Instances do get spun-up and spun-down on a regular basis, but if you've built your application well and make use of warm up requests then I'd say there is no need to use a cron job. Over the coming months, more controls will be added to the admin control panel to remove this requirement as well, I believe, as you'll be able to control how many instances are around in the background to handle user load spikes. GAE limits the returned dataset of each query to 1,000 rows This limitation was removed in August 2010. GAE allows only 100 indexes per table The default quota per application is 200, although I do believe you can request a quota increase. GAE provides no easy way to delete indexes that are no longer in use You can vacuum the indexes at any time using the appcfg command line tool: http://code.google.com/appengine/docs/java/tools/uploadinganapp.html#Deleting_Unused_Indexes doesn't support free text search in the database True - I believe it's on the road map. no standard API for directly accessing BigTable, you must write data- import and data-export logic into servlets inside your own application, and use your own web interface to import or export data There is a Remote API for both the Python and Java SDK: http://code.google.com/appengine/docs/java/tools/remoteapi.html The Python API has been available since 2009... some of the components in GAE still feel experimental rather than production-ready Hence it's in beta :) -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine-java/-/3KmHGGRKL-0J. 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: Java PaaS shoutout
Hmm not sure where I got February from - replace all references to February with April! -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine-java/-/sJHtuRX8msUJ. 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] deployment fails due to compilation
Hie When i try to deploy my app to appengine (based on gwt + gae) I see below error. thus, cannot deploy. Please advise. Just to mention if i run the app on local server it runs fine. [ERROR] An internal compiler exception occurred com.google.gwt.dev.jjs.InternalCompilerException: Failed to get JNode at com.google.gwt.dev.jjs.impl.TypeMap.get(TypeMap.java:139) at com.google.gwt.dev.jjs.impl.TypeMap.get(TypeMap.java:70) at com.google.gwt.dev.jjs.impl.BuildTypeMap.getType(BuildTypeMap.java:769) at com.google.gwt.dev.jjs.impl.BuildTypeMap.access$000(BuildTypeMap.java:101) at com.google.gwt.dev.jjs.impl.BuildTypeMap$BuildDeclMapVisitor.visit(BuildTypeMap.java:200) at org.eclipse.jdt.internal.compiler.ast.LocalDeclaration.traverse(LocalDeclaration.java:237) at org.eclipse.jdt.internal.compiler.ast.Block.traverse(Block.java:127) at org.eclipse.jdt.internal.compiler.ast.IfStatement.traverse(IfStatement.java:245) at org.eclipse.jdt.internal.compiler.ast.MethodDeclaration.traverse(MethodDeclaration.java:239) at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.traverse(TypeDeclaration.java:1294) at org.eclipse.jdt.internal.compiler.ast.QualifiedAllocationExpression.traverse(QualifiedAllocationExpression.java:478) at org.eclipse.jdt.internal.compiler.ast.MessageSend.traverse(MessageSend.java:576) at org.eclipse.jdt.internal.compiler.ast.MethodDeclaration.traverse(MethodDeclaration.java:239) at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.traverse(TypeDeclaration.java:1239) at org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration.traverse(CompilationUnitDeclaration.java:687) at com.google.gwt.dev.jjs.impl.BuildTypeMap.createPeersForNonTypeDecls(BuildTypeMap.java:674) at com.google.gwt.dev.jjs.impl.BuildTypeMap.exec(BuildTypeMap.java:539) at com.google.gwt.dev.jjs.impl.BuildTypeMap.exec(BuildTypeMap.java:529) at com.google.gwt.dev.jjs.JavaToJavaScriptCompiler.precompile(JavaToJavaScriptCompiler.java:558) at com.google.gwt.dev.jjs.JavaScriptCompiler.precompile(JavaScriptCompiler.java:35) at com.google.gwt.dev.Precompile.precompile(Precompile.java:538) at com.google.gwt.dev.Precompile.precompile(Precompile.java:492) at com.google.gwt.dev.Precompile.precompile(Precompile.java:405) at com.google.gwt.dev.Compiler.run(Compiler.java:215) at com.google.gwt.dev.Compiler.run(Compiler.java:187) at com.google.gwt.dev.Compiler$1.run(Compiler.java:159) at com.google.gwt.dev.CompileTaskRunner.doRun(CompileTaskRunner.java:87) at com.google.gwt.dev.CompileTaskRunner.runWithAppropriateLogger(CompileTaskRunner.java:81) at com.google.gwt.dev.Compiler.main(Compiler.java:166) [ERROR] no source info: public abstract class java.util.Calendar extends java.lang.Object implements : java.io.Serializable, java.lang.Cloneable, Comparablejava.util.Calendar /* fields */ static final [unresolved] boolean $assertionsDisabled static final [unresolved] int ALL_FIELDS public static final [unresolved] int ALL_STYLES public static final [unresolved] int AM public static final [unresolved] int AM_PM static final [unresolved] int AM_PM_MASK public static final [unresolved] int APRIL public static final [unresolved] int AUGUST private static final [unresolved] int COMPUTED public static final int DATE static final [unresolved] int DATE_MASK public static final [unresolved] int DAY_OF_MONTH static final [unresolved] int DAY_OF_MONTH_MASK public static final [unresolved] int DAY_OF_WEEK public static final [unresolved] int DAY_OF_WEEK_IN_MONTH static final [unresolved] int DAY_OF_WEEK_IN_MONTH_MASK static final [unresolved] int DAY_OF_WEEK_MASK public static final [unresolved] int DAY_OF_YEAR static final [unresolved] int DAY_OF_YEAR_MASK public static final [unresolved] int DECEMBER public static final [unresolved] int DST_OFFSET static final [unresolved] int DST_OFFSET_MASK public static final [unresolved] int ERA static final [unresolved] int ERA_MASK public static final [unresolved] int FEBRUARY public static final [unresolved] int FIELD_COUNT private static final [unresolved] java.lang.String[] FIELD_NAME public static final [unresolved] int FRIDAY public static final [unresolved] int HOUR static final [unresolved] int HOUR_MASK public static final [unresolved] int HOUR_OF_DAY static final [unresolved] int HOUR_OF_DAY_MASK public static final [unresolved] int JANUARY public static final [unresolved] int JULY public static final [unresolved] int JUNE public static final [unresolved] int LONG public static final [unresolved] int MARCH public static final [unresolved] int MAY public static final [unresolved] int MILLISECOND static final [unresolved] int MILLISECOND_MASK private static final [unresolved] int MINIMUM_USER_STAMP public static final [unresolved] int MINUTE static final [unresolved] int MINUTE_MASK public static final [unresolved] int MONDAY public static final int MONTH static final [unresolved] int MONTH_MASK public static final [unresolved] int NOVEMBER public static final [unresolved] int
Re: [appengine-java] Re: Java PaaS shoutout
I believe beta status will end this year. On Aug 18, 2011 7:20 AM, Simon Knott knott.si...@gmail.com wrote: Hmm not sure where I got February from - replace all references to February with April! -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine-java/-/sJHtuRX8msUJ. 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] Dashboard failing: Oops! We couldn't retrieve your list of Kinds.
After trying to delete my datastore completely and failing with this exception (thats now I guess is because I didn't turn appstats off): java.lang.IllegalArgumentException: illegal key.path.element.type: _Stat_Kind_IsRootEntity_ The datastore viewer stop working and shows: Oops! We couldn't retrieve your list of Kinds. I am using many namespaces, if I set a namespace and query SELECT * I see the data, but when I try to delete it from the datastore viewer I get a SERVER ERROR. If any gae team member see this, my app-id is wo-test. Anyone know how to fix this? Thanks -- Guit: Elegant, beautiful, modular and *production ready* gwt applications. http://code.google.com/p/guit/ -- 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] Eclipse GAE with OSX Lion
Is it possible you have either a very old version of eclipse or GPE? The fact that you're missing an eclipse build identifier may indicate your eclipse environment has larger issues outside of GAE or Google Login functionality. As a test, I installed GPE into an eclipse indigo installation on a lion machine. Created a new project with both gae and gwt natures, and Run As - Web Application started up cleanly. !SESSION 2011-08-17 09:45:51.437 --- eclipse.buildId=I20110613-1736 java.version=1.6.0_26 java.vendor=Apple Inc. BootLoader constants: OS=macosx, ARCH=x86_64, WS=cocoa, NL=en_US Framework arguments: -product org.eclipse.epp.package.java.product -keyring /Users/seth/.eclipse_keyring -showlocation Command-line arguments: -os macosx -ws cocoa -arch x86_64 -product org.eclipse.epp.package.java.product -keyring /Users/seth/.eclipse_keyring -showlocation -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine-java/-/gtoVl0O1-VsJ. 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] Eclipse GAE with OSX Lion
I have a feeling it might have something to do with my machine, but haven't had a chance yet to test on other machines I have around my house. I haven't been receiving any weird errors in the error log, only those strange NSLOCKERROR messages after the server tries to start up. I've attempted running every version of Eclipse and GAE here on my machine, but with no luck. When I get another chance, I'll give it another attempt, but on my Macbook Pro, as opposed to my iMac and see if it works there. I get the feeling that for whatever reason there might be something corrupted with my build environment since upgrading to OSX Lion -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine-java/-/GcBfX3kwaKkJ. 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] Eclipse GAE with OSX Lion
I also agree that it might be something larger than just something going on with GAE. I'm going to give it a test on my laptop and see what happens. I don't know what could've possibly become corrupted between the time creating and deploying my GAE Project, upgrading Lion, and then attempting to make changes to it afterwards. I'm going to also try testing a separate profile here on my iMac and see if I'm able to deploy a sample GAE project locally which would help to somewhat isolate and let me know that there could potentially be something wrong with this profile I've been using for development purposes. -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine-java/-/o1UKbadCsvgJ. 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] DatastoretimeExceptions
Yes, master/slave is known to have issues. We're encouraging developers to look at migrating to high replication datastore. Have you taken a look at this yet? -- Ikai Lan Developer Programs Engineer, Google App Engine plus.ikailan.com | twitter.com/ikai On Thu, Aug 18, 2011 at 1:40 AM, Aswath Satrasala aswath.satras...@gmail.com wrote: It is master/slave. Now, I am not seeing those exceptions. Thanks -Aswath On Wed, Aug 17, 2011 at 1:00 AM, Ikai Lan (Google) ika...@google.comwrote: Aswath, is your application on master/slave or high replication? -- Ikai Lan Developer Programs Engineer, Google App Engine plus.ikailan.com | twitter.com/ikai On Tue, Aug 9, 2011 at 3:59 AM, Aswath Satrasala aswath.satras...@gmail.com wrote: Hello All, Recently for the past 2-3 days, I see the logs with DatastoreTimeoutExceptions. Anyone experiencing the same... -Aswath www.AccountingGuru.in. -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-java@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-java@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-java@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en. -- 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: java.net.SocketTimeoutException: Timeout while fetching
Oh, so you have two applications? What is application B doing that might timeout? Does it timeout 100% of the time or just sometimes? -- Ikai Lan Developer Programs Engineer, Google App Engine plus.ikailan.com | twitter.com/ikai On Wed, Aug 17, 2011 at 9:32 AM, Luke travalle...@gmail.com wrote: yes. after enable threadsafetrue/threadsafe , still getting java.net.SocketTimeoutException: Timeout while fetching my applicationA is crawler with HTMLUnit, in appengine, it is uses to crawl applicationB inside appengine as well. I only need to enable always on for applicationA only right? -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-java@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-java@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
Re: [appengine-java] Eclipse GAE with OSX Lion
The other thing I noticed was you may be running a carbon-based (rather than cocoa-based) eclipse. The NS* errors may be indicative of some issue calling out to differences in native libraries in Lion (most likely via SWT). Can you identify which particular version of eclipse your installation is based on? Might give folks a better chance of reproducing the issue. -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine-java/-/5vMT1Bpc1yUJ. 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: ScriptEngine
I solved using bsf-api-3.1.jar and now it works! This is the maven complete definition: groupIdorg.apache.bsf/groupId artifactIdbsf-all/artifactId version3.0-beta3/version On Jun 20, 1:35 am, keyvez key...@gmail.com wrote: I also have to put a jsr223 implementation jar in the WEB-INF/lib folder for it to find ScriptEngineManager. -- 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: ScriptEngine
I solved using bsf-all-3.0-beta3.jar and now it works! This is the maven complete definition: groupIdorg.apache.bsf/groupId artifactIdbsf-all/artifactId version3.0-beta3/version On Jun 20, 1:35 am, keyvez key...@gmail.com wrote: I also have to put a jsr223 implementation jar in the WEB-INF/lib folder for it to find ScriptEngineManager. -- 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] Receiving Server Errors
I'm receiving Server Errors when trying to look view the datastore through GAE dashboard. This seems to be happening for all my apps. Below is an example URL that caused the error. https://appengine.google.com/datastore/explorer?app_id=s~outdoorschronicleversion_id=1.352526798856258922 -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine-java/-/5435J67zp8oJ. 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: Receiving Server Errors
There's no information about the error, it just says the following: Error: Server Error The server encountered an error and could not complete your request. If the problem persists, please reporthttp://code.google.com/appengine/community.htmlyour problem and mention this error message and the query that caused it. -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine-java/-/KtX_SkAOhIAJ. 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] white labeling
Hi, I have appengine application which is shown interest by few resellers. They are taking about white labeling. Can anyone provide details on how to do the white labeling for appengine application. What options are available? One possibility is that each reseller be given a different app-id with permissions. In this case, I have to monitor/upgrade all the app-id's. Any pointers on this subject? Regards -Aswath www.AccountingGuru.in -- 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: [google-appengine] A bug in custom domain / HR datastore app management.
While I was contacted by Greg off-list (thanks), the issue is still there, after almost two months. It exhibits itself slightly differently, but is still not fixed. Now not a single appengine app can be removed from the Google Apps account. Can please a Google employee reply and I'll provide exact steps to reproduce. On 1 July 2011 08:39, Sergey Schetinin mal...@gmail.com wrote: The problem is still there. Can I please get a reply from a Google employee? On 29 June 2011 09:30, Sergey Schetinin mal...@gmail.com wrote: TLDR: There's a bug in Google Apps / App Engine that make it impossible for me to manage an existing domain alias. I have an application that uses HR datastore, the app has an alias on a custom domain. The problem is, I can't manage it. When I log into Google Apps dashboard and navigate to Settings - Services, the app is listed on the left, but I get an error trying to access the management page for it: We are unable to process your request at this time. Please try again later. (Error #1000), but management pages for every other app with an alias on that domain work fine. If I start with the appengine dashboard and go Application Settings - Domain Setup - Add domain and enter the domain where it's aliased, I do get to the management page, but it lacks the existing alias, so I can't remove it. In the Apps dashboard, this app is now listed twice -- once with the s~ prefix, and not working, and once without a prefix, but lacking the existing alias. I suppose the reason for this is that the app and the alias were created quite early after the HR datastore was made available, and the s~ hack was handled differently then and now. I suppose I need to provide Google with the App Id and the domain name, but please contact me off-list for those. Thank you. -Sergey -- You received this message because you are subscribed to the Google Groups Google App Engine group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine/-/D_CllGMhIi8J. 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://self.maluke.com/ -- http://self.maluke.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.
[google-appengine] Re: Datastore Viewer report permanent Server Error
It should be nomination-edocs. Thanks for the help! Fabio On 17 Ago, 18:40, Ikai Lan (Google) ika...@google.com wrote: Can you guys give me your app IDs? I suspect there's a bad entity somewhere that is breaking this. -- Ikai Lan Developer Programs Engineer, Google App Engine plus.ikailan.com | twitter.com/ikai On Wed, Aug 17, 2011 at 8:43 AM, Fabio Sgrò fabio.s...@globalbase.itwrote: Someone has any suggestion? We are unable to see only the Datastore Viewer, all other functions are working correctly... 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.
[google-appengine] Re: Task Queue on backend runs much slower than it's configured to
It seems like the enforced rate situation has improved. 2011-08-17 23:02:10.404 /mail/ 200 21ms 0cpu_ms 0kb instance=0 2011-08-17 23:02:10.270 /mail/ 200 221ms 0cpu_ms 0kb instance=0 2011-08-17 23:02:09.739 /mail/ 200 24ms 0cpu_ms 0kb instance=0 2011-08-17 23:02:09.407 /mail/ 200 26ms 0cpu_ms 0kb instance=0 2011-08-17 23:02:09.141 /mail/ 200 439ms 0cpu_ms 0kb instance=0 2011-08-17 23:02:09.117 /_ah/start 404 303ms 93cpu_ms 0kb instance=0 2011-08-17 22:02:27.251 /mail/ 200 26ms 0cpu_ms 0kb instance=0 2011-08-17 22:02:26.919 /mail/ 200 28ms 0cpu_ms 0kb instance=0 2011-08-17 22:02:26.638 /mail/ 200 80ms 0cpu_ms 0kb instance=0 2011-08-17 22:02:26.258 /mail/ 200 26ms 0cpu_ms 0kb instance=0 2011-08-17 22:02:26.108 /mail/ 200 227ms 23cpu_ms 0kb instance=0 2011-08-17 22:02:26.081 /_ah/start 404 91ms 46cpu_ms 0kb instance=0 Could it be that factors outside of the app, like high server load, can influence task rate on backends? -- 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: Datastore Viewer report permanent Server Error
I've had this as well some days ago. It fixed itself the same day. -- 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: Datastore Viewer report permanent Server Error
The problem is present since ten days and it has never fixed itself... On 18 Ago, 10:47, pdknsk pdk...@googlemail.com wrote: I've had this as well some days ago. It fixed itself the same day. -- 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: Blobstore list index out of range
Sorry for the delay. Yes, that was the problem. I didn't realize that I had to generate a new URL every time. I have now added Javascript code to make an xmlhttpRequest to get an upload URL before the the phone app tries to upload the file. Thanks! On Aug 10, 12:28 am, Robert Kluin robert.kl...@gmail.com wrote: Hi, Are you correctly generating an upload url? http://code.google.com/appengine/docs/python/blobstore/overview.html#... Robert On Mon, Aug 8, 2011 at 16:37,misteff25mistef...@gmail.com wrote: I am trying updload a picture from a Phonegap application to my Python App Engine project. The phone app trys to upload the file but App engine returns a list index out of range error. Most of this code is very similar to some of the sample projects. I have the following code on the App Engine side to handle the files, class UploadHandler(blobstore_handlers.BlobstoreUploadHandler): def post(self): upload_files = self.get_uploads('file') # 'file' is file upload field in the form blob_info = upload_files[0] self.redirect('/serve/%s' % blob_info.key()) And the following code on the PhoneGap side, function uploadImage() { var smallImage = document.getElementById('cameraImage'); if (smallImage.src smallImage.src !== ) { var f = new FileTransfer(); f.upload(smallImage.src, http://testtest.appspot.com/ upload, // success callback function(result) { document.getElementById('uploadProgress').innerHTML = result.bytesSent + ' bytes sent'; alert(result.responseCode + : + result.response); }, // error callback function(error) { alert('error uploading file: ' + error.code); }, // options { fileName: 'myImage.jpg', params: { 'username':'jtyberg' } }); } } The errir us as follows, POST /upload HTTP/1.1 500 487 - BlackBerry9550/5.0.0.469 Profile/ MIDP-2.1 Configuration/CLDC-1.1 VendorID/-1 testtest.appspot.com ms=416 cpu_ms=93 api_cpu_ms=0 cpm_usd=0.014221 loading_request=1 instance=00c61b117ca6c4ea405471eea592a8f79ac6 E 2011-08-06 11:49:17.309 list index out of range Traceback (most recent call last): File /base/python_runtime/python_lib/versions/1/google/appengine/ ext/webapp/__init__.py, line 702, in __call__ handler.post(*groups) File /base/data/home/apps/s~testtest/1.352363227571120815/ main.py, line 62, in post blob_info = upload_files[0] IndexError: list index out of range -- 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 athttp://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] A bug in custom domain / HR datastore app management.
File a production issue. On Thu, Aug 18, 2011 at 03:03, Sergey Schetinin mal...@gmail.com wrote: While I was contacted by Greg off-list (thanks), the issue is still there, after almost two months. It exhibits itself slightly differently, but is still not fixed. Now not a single appengine app can be removed from the Google Apps account. Can please a Google employee reply and I'll provide exact steps to reproduce. On 1 July 2011 08:39, Sergey Schetinin mal...@gmail.com wrote: The problem is still there. Can I please get a reply from a Google employee? On 29 June 2011 09:30, Sergey Schetinin mal...@gmail.com wrote: TLDR: There's a bug in Google Apps / App Engine that make it impossible for me to manage an existing domain alias. I have an application that uses HR datastore, the app has an alias on a custom domain. The problem is, I can't manage it. When I log into Google Apps dashboard and navigate to Settings - Services, the app is listed on the left, but I get an error trying to access the management page for it: We are unable to process your request at this time. Please try again later. (Error #1000), but management pages for every other app with an alias on that domain work fine. If I start with the appengine dashboard and go Application Settings - Domain Setup - Add domain and enter the domain where it's aliased, I do get to the management page, but it lacks the existing alias, so I can't remove it. In the Apps dashboard, this app is now listed twice -- once with the s~ prefix, and not working, and once without a prefix, but lacking the existing alias. I suppose the reason for this is that the app and the alias were created quite early after the HR datastore was made available, and the s~ hack was handled differently then and now. I suppose I need to provide Google with the App Id and the domain name, but please contact me off-list for those. Thank you. -Sergey -- You received this message because you are subscribed to the Google Groups Google App Engine group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine/-/D_CllGMhIi8J. 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://self.maluke.com/ -- http://self.maluke.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. -- 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] A bug in custom domain / HR datastore app management.
The issue I talked about with Greg was bounced to the Apps team anyway, as it's not appengine's fault. Trying to file production issue resulted in 400. That’s an error. Your client has issued a malformed or illegal request. That’s all we know. which is not nice, let's put it that way. In the end persistence paid off and the production issue was filed: http://code.google.com/p/googleappengine/issues/detail?id=5617 All of this is quite sad, really. I'm not even asking for help, I'm reporting what's broken with Google's service, why do I have to work so hard to get it noticed? On 18 August 2011 17:35, Robert Kluin robert.kl...@gmail.com wrote: File a production issue. On Thu, Aug 18, 2011 at 03:03, Sergey Schetinin mal...@gmail.com wrote: While I was contacted by Greg off-list (thanks), the issue is still there, after almost two months. It exhibits itself slightly differently, but is still not fixed. Now not a single appengine app can be removed from the Google Apps account. Can please a Google employee reply and I'll provide exact steps to reproduce. On 1 July 2011 08:39, Sergey Schetinin mal...@gmail.com wrote: The problem is still there. Can I please get a reply from a Google employee? On 29 June 2011 09:30, Sergey Schetinin mal...@gmail.com wrote: TLDR: There's a bug in Google Apps / App Engine that make it impossible for me to manage an existing domain alias. I have an application that uses HR datastore, the app has an alias on a custom domain. The problem is, I can't manage it. When I log into Google Apps dashboard and navigate to Settings - Services, the app is listed on the left, but I get an error trying to access the management page for it: We are unable to process your request at this time. Please try again later. (Error #1000), but management pages for every other app with an alias on that domain work fine. If I start with the appengine dashboard and go Application Settings - Domain Setup - Add domain and enter the domain where it's aliased, I do get to the management page, but it lacks the existing alias, so I can't remove it. In the Apps dashboard, this app is now listed twice -- once with the s~ prefix, and not working, and once without a prefix, but lacking the existing alias. I suppose the reason for this is that the app and the alias were created quite early after the HR datastore was made available, and the s~ hack was handled differently then and now. I suppose I need to provide Google with the App Id and the domain name, but please contact me off-list for those. Thank you. -Sergey -- You received this message because you are subscribed to the Google Groups Google App Engine group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine/-/D_CllGMhIi8J. 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://self.maluke.com/ -- http://self.maluke.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. -- 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://self.maluke.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.
[google-appengine] Firefox 6 and Appspot Cookies
Does anyone here know what changed in how Firefox handles cookies from the appspot.com domain? I can't find anything in the release notes, although I'm not positive the change happened in version 6 (it might have been in an earlier version that I skipped). It appears that I cannot set a cookie with domain=.appspot.com When I do that, it doesn't show up in the list of cookies. I can set a cookie in a sub-domain of .appspot.com (domain=foo.appspot.com) but not on appspot.com itself. I understand why they would make it work this way, since appspot.com is practically a TLD. But it was handy that I could do it, because it allowed me to do some testing in development that I could not otherwise do. (I can give details if anyone cares.) What I was hoping is to find a way to tell firefox not to treat .appspot.com specially. Anyone know if that's possible? -Joshua -- 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] Firefox 6 and Appspot Cookies
It's because appspot.com was added to the public suffix list of domains that modern browsers should not allow cookies to be set for: http://mxr.mozilla.org/mozilla-central/source/netwerk/dns/effective_tld_names.dat?raw=1 On Thu, Aug 18, 2011 at 8:53 AM, Joshua Smith joshuaesm...@charter.net wrote: Does anyone here know what changed in how Firefox handles cookies from the appspot.com domain? I can't find anything in the release notes, although I'm not positive the change happened in version 6 (it might have been in an earlier version that I skipped). It appears that I cannot set a cookie with domain=.appspot.com When I do that, it doesn't show up in the list of cookies. I can set a cookie in a sub-domain of .appspot.com (domain=foo.appspot.com) but not on appspot.com itself. I understand why they would make it work this way, since appspot.com is practically a TLD. But it was handy that I could do it, because it allowed me to do some testing in development that I could not otherwise do. (I can give details if anyone cares.) What I was hoping is to find a way to tell firefox not to treat .appspot.com specially. Anyone know if that's possible? -Joshua -- 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] Firefox 6 and Appspot Cookies
Thanks for the reference. I'll go over to stackoverflow and see whether anyone there knows of a work-around to whitelist an effective TLD... On Aug 18, 2011, at 11:57 AM, Jon McAlister wrote: It's because appspot.com was added to the public suffix list of domains that modern browsers should not allow cookies to be set for: http://mxr.mozilla.org/mozilla-central/source/netwerk/dns/effective_tld_names.dat?raw=1 On Thu, Aug 18, 2011 at 8:53 AM, Joshua Smith joshuaesm...@charter.net wrote: Does anyone here know what changed in how Firefox handles cookies from the appspot.com domain? I can't find anything in the release notes, although I'm not positive the change happened in version 6 (it might have been in an earlier version that I skipped). It appears that I cannot set a cookie with domain=.appspot.com When I do that, it doesn't show up in the list of cookies. I can set a cookie in a sub-domain of .appspot.com (domain=foo.appspot.com) but not on appspot.com itself. I understand why they would make it work this way, since appspot.com is practically a TLD. But it was handy that I could do it, because it allowed me to do some testing in development that I could not otherwise do. (I can give details if anyone cares.) What I was hoping is to find a way to tell firefox not to treat .appspot.com specially. Anyone know if that's possible? -Joshua -- 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] Re: Problem putting/retrieving from datastore
Thanks for the heads up on logging. I tried the logging but don't know if I did it right. For the first logging part in the code, I put: logging.info('Wrote answer, key is: %s', str(answer.key())) and it gave me this in the browser: AttributeError: 'Key' object has no attribute 'key' I tried replacing key with ans but that gave the same error type. When I just put: logging.info('Wrote answer, key is: %s', str(answer)) the log file comes with this: Wrote answer, key is agxkZXZ-bnVtZ3Vlc3NyDAsSBkFuc3dlchhUDA Am I doing something wrong or does this info mean anything? I honestly don't know what to make of it or what to change to get the random number in/out.. I feel like I am following what the docs say though. On Aug 17, 10:19 pm, Robert Kluin robert.kl...@gmail.com wrote: Hi, You should check out the Python logging package, it is super handy. Add some logging calls to your code so you can see what is happening. For example: import logging def post(self): stguess = self.request.get('guess') if stguess == 'new': answer = Answer(ans = (random.randint(1, 100))).put() logging.info('Wrote answer, key is: %s', str(answer.key())) number = Answer.all().get() if number is not None: logging.info('Got answer, value is: %d', number.ans) answer = number.ans else: logging.info('Oh No! Got no answer!') answer = None else: logging.info('Doing nothing.') Robert On Wed, Aug 17, 2011 at 17:33, Matt mpiechow...@gmail.com wrote: I am trying to pull an integer from the datastore but I keep getting None back. I store the integers here- class Answer(db.Model): ans = db.IntegerProperty() As a test I did this - def post(self): stguess = self.request.get('guess') if stguess == 'new': answer = Answer(ans = (random.randint(1, 100))).put() number = Answer.all().get() if number is not None: answer = number.ans else: answer = None msg = str(answer) So what that does is take user input from the user and if they entered 'new' follow the if path. ans equals a random integer between 1 and 100. Put it in Answer. Then immediately after, pull the first integer from Answer. If it is not None assign the variable answer to the result, else assign it to None. msg is displayed on screen. Instead of a random number which I am expecting to be displayed, None is displayed instead. I also tried using count to see how many items were actually in the database and the count was more than 0. Is there anything wrong with how I am putting or retrieving from the datastore? How can I change this so I get the random number into the answer variable, not None? Thanks for any 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 athttp://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: Problem putting/retrieving from datastore
Hey Matt, Yeah there was a typo in my same code, should not have been: logging.info('Wrote answer, key is: %s', str(answer.key())) but rather: logging.info('Wrote answer, key is: %s', str(answer)) What that is telling you is that an answer entity was successfully written. So, now you know that the entity is getting written, what is the next logging line? Are you getting an entity back from the datastore? Robert On Thu, Aug 18, 2011 at 12:33, Matt mpiechow...@gmail.com wrote: Thanks for the heads up on logging. I tried the logging but don't know if I did it right. For the first logging part in the code, I put: logging.info('Wrote answer, key is: %s', str(answer.key())) and it gave me this in the browser: AttributeError: 'Key' object has no attribute 'key' I tried replacing key with ans but that gave the same error type. When I just put: logging.info('Wrote answer, key is: %s', str(answer)) the log file comes with this: Wrote answer, key is agxkZXZ-bnVtZ3Vlc3NyDAsSBkFuc3dlchhUDA Am I doing something wrong or does this info mean anything? I honestly don't know what to make of it or what to change to get the random number in/out.. I feel like I am following what the docs say though. On Aug 17, 10:19 pm, Robert Kluin robert.kl...@gmail.com wrote: Hi, You should check out the Python logging package, it is super handy. Add some logging calls to your code so you can see what is happening. For example: import logging def post(self): stguess = self.request.get('guess') if stguess == 'new': answer = Answer(ans = (random.randint(1, 100))).put() logging.info('Wrote answer, key is: %s', str(answer.key())) number = Answer.all().get() if number is not None: logging.info('Got answer, value is: %d', number.ans) answer = number.ans else: logging.info('Oh No! Got no answer!') answer = None else: logging.info('Doing nothing.') Robert On Wed, Aug 17, 2011 at 17:33, Matt mpiechow...@gmail.com wrote: I am trying to pull an integer from the datastore but I keep getting None back. I store the integers here- class Answer(db.Model): ans = db.IntegerProperty() As a test I did this - def post(self): stguess = self.request.get('guess') if stguess == 'new': answer = Answer(ans = (random.randint(1, 100))).put() number = Answer.all().get() if number is not None: answer = number.ans else: answer = None msg = str(answer) So what that does is take user input from the user and if they entered 'new' follow the if path. ans equals a random integer between 1 and 100. Put it in Answer. Then immediately after, pull the first integer from Answer. If it is not None assign the variable answer to the result, else assign it to None. msg is displayed on screen. Instead of a random number which I am expecting to be displayed, None is displayed instead. I also tried using count to see how many items were actually in the database and the count was more than 0. Is there anything wrong with how I am putting or retrieving from the datastore? How can I change this so I get the random number into the answer variable, not None? Thanks for any 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 athttp://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] Bulkloader Problem
Hello, I'm attempting to upload some data in CSV format to the App Engine servers. I filled out the first row specifying the property names, including key. However, no matter what I do, including import_transform: transform.create_foreign_key('UserAccount', key_is_id=False), but it always has the same problem where the key id is not the name I specify in the CSV data, rather an automatically generated one. Oddly, they always seem to be ids around 38000 even after several deletes and reuploads. Nonetheless, they are never the names I give them. Any ideas on how to fix this? Thanks, Richard -- 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] Channel API Sockets - Uni-Directional or Bi-Directional?
Question 1: Is this the correct forum to ask question about Channel API (which I am intending to use in conjunction with Google App Engine). Question 2: In the documentation for the Channel API it says: The JavaScript client opens a socket using the token provided by the server. It uses the socket to listen for updates on the channel. However communication from the client to the server seems to be in the form of a POST. Are Channel API sockets truly uni-directional server-to-client? Or is there a way for the client to communicate back via web socket? -- You received this message because you are subscribed to the Google Groups Google App Engine group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine/-/ulHR1fPZVG0J. 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] 1.5.3 is out!
Upgraded. Thanks for all the cool work! - Sri On Wed, Aug 17, 2011 at 11:41 PM, Deepak Singh deepaksingh...@gmail.comwrote: Hi Johan, Thanks. Nice release. Does this version support the following things: 1) JIBX databinding 2) JAXWS web service client / server 3) EHCache 4) Spring core 5) Java mail 6) XMLBEANS Thanks Deepak On Wed, Aug 17, 2011 at 10:57 PM, Johan Euphrosine pro...@google.comwrote: We just announced App Engine 1.5.3 SDK release on the official blog: http://googleappengine.blogspot.com/2011/08/app-engine-153-sdk-released.html You can download it from here: http://code.google.com/p/googleappengine/downloads/list See the Release Notes below, Happy Hacking! App Engine SDK - Release Notes Version 1.5.3 - Aug 17, 2011 Python == We've removed the limit on the size of blob uploads using the Blobstore API. You can now send emails with any attachment extension that is not included on the email attachment extension blacklist. Added a db.get_indexes() method to retrieve an application's indexes and their corresponding states. The dev_appserver has been updated to understand the reduced index requirements of the 1.5.2 datastore query planner changes. The Datastore Admin functionality can now be enabled directly in the Admin Console. Added cas(), the compare-and-set function, to the Memcache API. http://code.google.com/p/googleappengine/issues/detail?id=2139 Added a set_default_fetch_deadline to the URLFetch API which sets the URLFetch deadline globally. Added app_identity api with methods to get the application id, default hostname, and service accounts for asserting identity on outbound HTTP calls. http://code.google.com/appengine/docs/python/appidentity/overview.html Added an improved HRD migration tool that requires a read-only period relative to your datastore write rate (as opposed to your datastore size, which is how the current version behaves). The tool is not yet generally available. If you are interested in being an early adopter please fill out this form: http://goo.gl/3jrXu Fixed an issue in the Channel API where jsapi was not served with the correct mime type. Fixed an issue that broke use_library when the Python SDK was located in a directory that contained the word 'django'. Fixed an issue where blobs could not be uploaded using HTTPS. Fixed an issue where GQL didn't allow querying for valid kind names containing '.', '-', and ':' by supporting quoted identifiers. http://code.google.com/p/googleappengine/issues/detail?id=2584 Java We've removed the limit on the size of blob uploads using the Blobstore API. You can now send emails with any attachment extension that is not included on the email attachment extension blacklist. Added a getIndexes() method to the DatastoreService? to retrieve an application's indexes and their corresponding states. The development server has been updated to understand the reduced index requirements of the 1.5.2 datastore query planner changes. The Datastore Admin functionality can now be enabled directly in the Admin Console. You can now use Remote API to access the services of one App Engine application from a different App Engine application. The Java Testing APIs now default to UTC if no timezone is specified. AppCfg? now supports download_app, which will download all files that were uploaded from your war directory. AppCfg? now supports the -V (version) and -A (application) flags. Added app_identity api with methods to work with service accounts for asserting identity on outbound HTTP calls. http://code.google.com/appengine/docs/java/appidentity/overview.html Added an improved HRD migration tool that requires a read-only period relative to your datastore write rate (as opposed to your datastore size, which is how the current version behaves). The tool is not yet generally available. If you are interested in being an early adopter please fill out this form: http://goo.gl/3jrXu Fixed an issue in the Channel API where jsapi was not served with the correct mime type. Fixed an issue where blobs could not be uploaded using HTTPS. Fixed an issue where GQL didn't allow querying for valid kind names containing '.', '-', and ':' by supporting quoted identifiers. http://code.google.com/p/googleappengine/issues/detail?id=2584 Go === appengine: - Add app identity functions: AppID, VersionID, DefaultVersionHostname. appengine/datastore: - Fix construction of incomplete keys with parents. appengine/delay: - Check argument types at Call time. - Retry delayed functions if they return a non-nil os.Error. Other: - Report package dependency cycles in go-app-builder. -- Johan Euphrosine (proppy) Developer Programs Engineer Google Developer Relations -- 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
[google-appengine] Using GAE as a pipe
Hello, Is it possible in a fairly easy way to use GAE as a pipe, basically transporting custom binary data between two computers via a Google server? And if so (which I really expect to be possible) how will it perform? I mean approximately which throughput will I get. And is there a way, hopefully automatically, to make it use the closest server to pipe through? I ask because I was thinking about using GAE as a proxy server for VNC when there's two computers between firewalls that wants to talk to each other. Cheers, Mikael -- 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] Remote API + File API
Hi, Maybe I've misunderstood docs, but I thought it was possible an external application to integrate with App Engine by creating a file in Blobstore. Am I doing something wrong?? Any way to accomplish this?? http://code.google.com/appengine/docs/java/blobstore/overview.html#Writing_Files_to_the_Blobstore Thanks. Code: public class RemoteAPI { public static void main(String[] args) throws IOException { String username = x...@gmail.com; String password = x; RemoteApiOptions options = new RemoteApiOptions() .server(primepartes.appspot.com, 443) .credentials(username, password); RemoteApiInstaller installer = new RemoteApiInstaller(); installer.install(options); FileService fileService = FileServiceFactory.getFileService(); BlobstoreService blobstoreService = BlobstoreServiceFactory.getBlobstoreService(); AppEngineFile file = fileService.createNewBlobFile(text/ plain); FileWriteChannel writeChannel = fileService.openWriteChannel(file, true); PrintWriter out = new PrintWriter(Channels.newWriter(writeChannel, UTF8)); out.println(The woods are lovely dark and deep.); out.println(But I have promises to keep.); out.close(); writeChannel.closeFinally(); // This line throwns the excepion bellow .. java.lang.IllegalStateException: The current request does not hold the exclusive lock. at com.google.appengine.api.files.FileServiceImpl.close(FileServiceImpl.java: 315) at com.google.appengine.api.files.FileWriteChannelImpl.closeFinally(FileWriteChannelImpl.java: 78) at br.com.teste.RemoteAPI.main(RemoteAPI.java:82) -- 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 admin still broken with too many redirects
Any ETA on getting this fixed? Breaks on every one of our apps redirecting through https://appengine.google.com/_ah/conflogin. Does not seem to be browser related (Chrome, FF, Safari) It's a bit of a pain managing mapreduce manually, would love to have access to this functionality! Jan -- 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] SDK 1.5.3 - deployment fails with the message Found interface com.google.appengine.tools.admin.Application, but class was expected.
I have a problem with the deployment of my application with SDK 1.5.3. It compiles without any problems, but it fails just before the deployment with message: Found interface com.google.appengine.tools.admin.Application, but class was expected OS: Win7 64b; Eclipse Helios; GAE SDK 1.5.3; application http://web.mindforger.com After downgrade everything works perfectly. Any suggestions? -- 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] Should Google deprecate Master/Slave data store option?
On Wednesday, August 17, 2011 5:24:48 AM UTC-7, Joshua Smith wrote: I certainly hope they don't deprecate M/S, unless/until the following issues are addressed: 1) Ability to migrate without changing app ID. This is fundamental, and we've never seen any *reason* why this is impossible. I suspect that this is very hard, but not impossible. We are able to create an alias for migrated apps, so that traffic sent to oldappid.appspot.com will be transparently routed to your new application. So while you won't be able to keep the same app id, you can keep using the same appspot.com domain, which is probably what you care about most. Changing the app ID causes problems because: - External references to entity keys (not IDs) are pervasive in many apps (such as google search links to deep pages, user bookmarks, or RSS feed URLs) because the documentation encourages the use of these keys in URLs This remains an issues, but can be easily addressed in a couple of lines of application code in the appropriate request handlers. The string encoded keys that are referenced externally have encoded within them the old app id. If you take the decoded key and extract the parent, kind and id/name to create a new key (again, this is 1-2 lines of code), then your app can use that new key to locate the migrated entity within the new datastore. As far as reference (list) properties: those reference keys are automatically updated as part of the the datastore migration and should not cause you any issues. - Many users have keys wrapped up in properties that the migration tool cannot recognize [this doesn't impact my app, but it's a common issue on this list] This does affect some apps. As I mentioned above, a couple of lines of code in the right place should take care of this. As an alternative, the infrastructure could be fixed to recognize the case of using the old app ID instead of the new app ID in a key, and quietly make the substitution. That's a neat idea. 2) Migration of large data sets takes an extremely long time. Given that we regularly see M/S downtimes in the couple of hours range, a couple of hours is probably a reasonable amount of time to migrate. A couple of days is much too much. [Note that I have not personally gotten far enough into a migration to see this duration; I'm basing this on many user complaints I've read on this list.] Applications with small amounts of data can easily self migrate in a short period of time using datastore_admin. Applications with more data will benefit from the new migration tool Ikai mentioned. We created the tool specifically to simplify and speed up the migration for larger apps, and to reduce the read-only period required to make the final switch. 3) The problem of transactional consistency needs to be addressed. It is not acceptable for transactions to end in a maybe this worked, maybe it didn't state. They should either succeed or fail. (Although the docs not not say whether this problem is exclusive to HR, it seems to be, and certainly it matters much more in HR since every put is implicitly transactional.) There are subtle differences between the consistency guarantees offered by M/S and HRD. In some cases, apps need to make a few tweaks in order to work correctly in the new environment. The benefit is much more predictable/consistency latency and increased reliability. A good article which reviews the consistency guarantees can be found here: http://code.google.com/appengine/articles/transaction_isolation.html 4) As Ikai said, there are some unresolved issues in HR that need to be fixed, such as the current mystery in the 'Serious Problem: Rollback of data on HRD' thread (which is eerily familiar: I think somebody else reported a similar issue a while back). I haven't looked at that thread yet, but I suspect that reviewing the above article (http://code.google.com/appengine/articles/transaction_isolation.html) would probably be beneficial in the context of that thread. Even if all these are addressed, it would certainly be nice if M/S remained an option. It makes different trade-offs than HR, which may be better trade-offs for some applications. I will be very disappointed if they decide to make HR a requirement for multi-threading Python, since the two are completely orthogonal choices. From my reading, M/S seems to have better throughput than HR, at the expense of more frequent downtime, and spurious datastore timeouts. I'd like to have that option in a multi-threaded app. Thanks for the input. I hope the above response addresses some of your concerns. -Joshua -- You received this message because you are subscribed to the Google Groups Google App Engine group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine/-/sLkBsAfFc84J. To post to this group, send email to
[google-appengine] static-error-handlers
I defined static-error-handlers (add element to appengine-web.xml file and added static html page) and it seemed to work fine but now I want to remove them. I tried removing it from the appengine-web.xml file and also removed the actual static html file but I am still getting the static page instead of the error page generated by App Engine. I deleted other versions of application but that did not help. Any thoughts would be appreciated. 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] Enabling billing on appengine
Hi I tried to enable billing on appspot id: race-timing And I see this error: And now appengine shows that billing will be enabled and billing changes cannot be made for 30 minutes, even though I don't see a google checkout order? Can someone help or let me know that it will clear itself. Thanks, Ralph Browse stores » Error Purchase HistoryError Help Oops! An error occurred while processing your request. To fix this issue: Try our quick troubleshooting tips -- users report these resolve most issues. Back to My Account Time when the error happened: 2011-08-18T18:20:25 (UTC) (4aacbb1d8) https://checkout.google.com/view/buy?o=shoppingcartshoppingcart=974369501494940pli=1 -- You received this message because you are subscribed to the Google Groups Google App Engine group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine/-/Y9DD8h5IpuoJ. 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] Using GAE as a pipe
No GAE wont really do this. GAE basically speaks HTTP - and over a CGI model. I.e. requests/responses. So a http requests comes in, a GAE script processes, it sends back some data (usually HTML but doesnt have to be) and then when the front end server gets the responce it forwards it back to the user. Probably a cheap VPS hosting somewhere will be best. On Thu, Aug 18, 2011 at 2:56 PM, Mikael Grev mikael.g...@gmail.com wrote: Hello, Is it possible in a fairly easy way to use GAE as a pipe, basically transporting custom binary data between two computers via a Google server? And if so (which I really expect to be possible) how will it perform? I mean approximately which throughput will I get. And is there a way, hopefully automatically, to make it use the closest server to pipe through? I ask because I was thinking about using GAE as a proxy server for VNC when there's two computers between firewalls that wants to talk to each other. Cheers, Mikael -- 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] Should Google deprecate Master/Slave data store option?
On Aug 18, 2011, at 2:10 PM, Fred Sauer wrote: On Wednesday, August 17, 2011 5:24:48 AM UTC-7, Joshua Smith wrote: I certainly hope they don't deprecate M/S, unless/until the following issues are addressed: 1) Ability to migrate without changing app ID. This is fundamental, and we've never seen any *reason* why this is impossible. I suspect that this is very hard, but not impossible. We are able to create an alias for migrated apps, so that traffic sent to oldappid.appspot.com will be transparently routed to your new application. So while you won't be able to keep the same app id, you can keep using the same appspot.com domain, which is probably what you care about most. Perhaps that what some people care about most, but not me. What I care about is what I spelled out in the next two bullet points :) Changing the app ID causes problems because: - External references to entity keys (not IDs) are pervasive in many apps (such as google search links to deep pages, user bookmarks, or RSS feed URLs) because the documentation encourages the use of these keys in URLs This remains an issues, but can be easily addressed in a couple of lines of application code in the appropriate request handlers. The string encoded keys that are referenced externally have encoded within them the old app id. If you take the decoded key and extract the parent, kind and id/name to create a new key (again, this is 1-2 lines of code), then your app can use that new key to locate the migrated entity within the new datastore. As far as reference (list) properties: those reference keys are automatically updated as part of the the datastore migration and should not cause you any issues. - Many users have keys wrapped up in properties that the migration tool cannot recognize [this doesn't impact my app, but it's a common issue on this list] This does affect some apps. As I mentioned above, a couple of lines of code in the right place should take care of this. 1-2 lines of code, in dozens of handlers is the crux of the problem. Dealing with this at the application layer is problematic because there are so many code paths that need to be examined. As an alternative, the infrastructure could be fixed to recognize the case of using the old app ID instead of the new app ID in a key, and quietly make the substitution. That's a neat idea. Neat enough that you guys might implement it? I've suggested this before, but I'm glad that I've got your attention this time! This would be a pretty huge step toward making the migration practical for me. 2) Migration of large data sets takes an extremely long time. Given that we regularly see M/S downtimes in the couple of hours range, a couple of hours is probably a reasonable amount of time to migrate. A couple of days is much too much. [Note that I have not personally gotten far enough into a migration to see this duration; I'm basing this on many user complaints I've read on this list.] Applications with small amounts of data can easily self migrate in a short period of time using datastore_admin. Applications with more data will benefit from the new migration tool Ikai mentioned. We created the tool specifically to simplify and speed up the migration for larger apps, and to reduce the read-only period required to make the final switch. Yes, I saw that in his note, and if it works as advertised, I suspect it will resolve this issue. 3) The problem of transactional consistency needs to be addressed. It is not acceptable for transactions to end in a maybe this worked, maybe it didn't state. They should either succeed or fail. (Although the docs not not say whether this problem is exclusive to HR, it seems to be, and certainly it matters much more in HR since every put is implicitly transactional.) There are subtle differences between the consistency guarantees offered by M/S and HRD. In some cases, apps need to make a few tweaks in order to work correctly in the new environment. The benefit is much more predictable/consistency latency and increased reliability. A good article which reviews the consistency guarantees can be found here: http://code.google.com/appengine/articles/transaction_isolation.html I'm not talking about consistency guarantees. I get that things change under HR, and it's pretty easy to understand what the implications of that are. What I'm talking about is the problem where you have to write idempotent transactions because you can never tell whether a transaction that threw certain exceptions succeeded or failed. That's really messed up, and you really need to fix that. But, to be fair, I'm not sure this problem will cause me actual problems if I switch to HR. It just makes me really, really uncomfortable. 4) As Ikai said, there are some unresolved issues in HR that need to be fixed, such as the current mystery in the 'Serious
Re: [google-appengine] Should Google deprecate Master/Slave data store option?
Let me share my experience. I was developing an AppEngine app for a year. It was very fast (extremely fast), with latency 1 sec. When High Replication data-store was released I decided to give it a try and switched to it. Unfortunately the latency got 1 Sec sometimes 2 Sec. The app worked a wile that way and because still in beta I could experiment. So I decided to go to Billed option to see if the reliability and more importantly the latency could improve. Unfortunately this do not affected latency. Then I decided to go back to Master/Slave - our customers mentioned immediately our app is 2 times faster - again 1 Sec latency. Then I needed to add https which is very important for our app. This do not added significant latency so our customers are very happy with this solution. Soon we will go public. So the latency issue is a show stopper for high replication version and we would want to stay with master slave. Anybody with similar experience? Thank you, -- You received this message because you are subscribed to the Google Groups Google App Engine group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine/-/P1c_gMSRtl0J. 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] Should Google deprecate Master/Slave data store option?
When switching to the HR datastore, you might need to make some adjustments. For instance, fetching a large list of keys from multiple entity groups may be slower due to the transaction overhead. So you might need to evaluate your use of entity groups. It may also be that you've got a design that is making many datastore RPCs in serial, that will probably be more of an issue when on HR since there is a slightly higher average latency. Robert On Thu, Aug 18, 2011 at 15:11, thstart thst...@gmail.com wrote: Let me share my experience. I was developing an AppEngine app for a year. It was very fast (extremely fast), with latency 1 sec. When High Replication data-store was released I decided to give it a try and switched to it. Unfortunately the latency got 1 Sec sometimes 2 Sec. The app worked a wile that way and because still in beta I could experiment. So I decided to go to Billed option to see if the reliability and more importantly the latency could improve. Unfortunately this do not affected latency. Then I decided to go back to Master/Slave - our customers mentioned immediately our app is 2 times faster - again 1 Sec latency. Then I needed to add https which is very important for our app. This do not added significant latency so our customers are very happy with this solution. Soon we will go public. So the latency issue is a show stopper for high replication version and we would want to stay with master slave. Anybody with similar experience? Thank you, -- You received this message because you are subscribed to the Google Groups Google App Engine group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine/-/P1c_gMSRtl0J. 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] Should Google deprecate Master/Slave data store option?
That's accurate. Performing a batch get to get a N entities from different entity groups is slower or HRD. As N increases the issue is more pronounced. This is because the datastore needs to fetch a consistent copy for each entity. Placing these entities into a single entity group can help greatly. Fetching fewer entities initially, so that the UI updates quickly, and then fetching more as needed, is always a good idea. A great tool to help understand your use of the datastore is Appstats, which can be easily enabled and provides negligible overhead to most sites. (If you have a high traffic site, or don't want to enable Appstats in production for other reasons, you can easily deploy a non-default version of your app with Appstats enabled). Appstats will provide you a graphical overview of the datastore (and other RPC) calls you are making. On Thu, Aug 18, 2011 at 12:19 PM, Robert Kluin robert.kl...@gmail.comwrote: When switching to the HR datastore, you might need to make some adjustments. For instance, fetching a large list of keys from multiple entity groups may be slower due to the transaction overhead. So you might need to evaluate your use of entity groups. It may also be that you've got a design that is making many datastore RPCs in serial, that will probably be more of an issue when on HR since there is a slightly higher average latency. Robert On Thu, Aug 18, 2011 at 15:11, thstart thst...@gmail.com wrote: Let me share my experience. I was developing an AppEngine app for a year. It was very fast (extremely fast), with latency 1 sec. When High Replication data-store was released I decided to give it a try and switched to it. Unfortunately the latency got 1 Sec sometimes 2 Sec. The app worked a wile that way and because still in beta I could experiment. So I decided to go to Billed option to see if the reliability and more importantly the latency could improve. Unfortunately this do not affected latency. Then I decided to go back to Master/Slave - our customers mentioned immediately our app is 2 times faster - again 1 Sec latency. Then I needed to add https which is very important for our app. This do not added significant latency so our customers are very happy with this solution. Soon we will go public. So the latency issue is a show stopper for high replication version and we would want to stay with master slave. Anybody with similar experience? Thank you, -- You received this message because you are subscribed to the Google Groups Google App Engine group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine/-/P1c_gMSRtl0J. 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. -- Fred Sauer Developer Advocate Google Inc. 1600 Amphitheatre Parkway Mountain View, CA 94043 fre...@google.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] Should Google deprecate Master/Slave data store option?
I recommend looking at Appstats, and verifying whether you are performing batch gets across entity groups. I have not met an app yet that is unable to get acceptable HRD performance. I should note that apps built on M/S have (usually unintentionally) been optimized for the M/S performance characteristics. It makes sense that some apps may need to or want to make adjustments before migrating to HRD. I should also point out that I have yet to meet a developer whose not happier on HRD and migrating their app. You may well be the first (although I'm not trying to imply that you are the only one)... :) On Thu, Aug 18, 2011 at 12:11 PM, thstart thst...@gmail.com wrote: Let me share my experience. I was developing an AppEngine app for a year. It was very fast (extremely fast), with latency 1 sec. When High Replication data-store was released I decided to give it a try and switched to it. Unfortunately the latency got 1 Sec sometimes 2 Sec. The app worked a wile that way and because still in beta I could experiment. So I decided to go to Billed option to see if the reliability and more importantly the latency could improve. Unfortunately this do not affected latency. Then I decided to go back to Master/Slave - our customers mentioned immediately our app is 2 times faster - again 1 Sec latency. Then I needed to add https which is very important for our app. This do not added significant latency so our customers are very happy with this solution. Soon we will go public. So the latency issue is a show stopper for high replication version and we would want to stay with master slave. Anybody with similar experience? Thank you, -- You received this message because you are subscribed to the Google Groups Google App Engine group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine/-/P1c_gMSRtl0J. 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. -- Fred Sauer Developer Advocate Google Inc. 1600 Amphitheatre Parkway Mountain View, CA 94043 fre...@google.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] Should Google deprecate Master/Slave data store option?
On Thu, Aug 18, 2011 at 11:48 AM, Joshua Smith joshuaesm...@charter.netwrote: On Aug 18, 2011, at 2:10 PM, Fred Sauer wrote: On Wednesday, August 17, 2011 5:24:48 AM UTC-7, Joshua Smith wrote: I certainly hope they don't deprecate M/S, unless/until the following issues are addressed: 1) Ability to migrate without changing app ID. This is fundamental, and we've never seen any *reason* why this is impossible. I suspect that this is very hard, but not impossible. We are able to create an alias for migrated apps, so that traffic sent to oldappid.appspot.com will be transparently routed to your new application. So while you won't be able to keep the same app id, you can keep using the same appspot.com domain, which is probably what you care about most. Perhaps that what some people care about most, but not me. What I care about is what I spelled out in the next two bullet points :) Changing the app ID causes problems because: - External references to entity keys (not IDs) are pervasive in many apps (such as google search links to deep pages, user bookmarks, or RSS feed URLs) because the documentation encourages the use of these keys in URLs This remains an issues, but can be easily addressed in a couple of lines of application code in the appropriate request handlers. The string encoded keys that are referenced externally have encoded within them the old app id. If you take the decoded key and extract the parent, kind and id/name to create a new key (again, this is 1-2 lines of code), then your app can use that new key to locate the migrated entity within the new datastore. As far as reference (list) properties: those reference keys are automatically updated as part of the the datastore migration and should not cause you any issues. - Many users have keys wrapped up in properties that the migration tool cannot recognize [this doesn't impact my app, but it's a common issue on this list] This does affect some apps. As I mentioned above, a couple of lines of code in the right place should take care of this. 1-2 lines of code, in dozens of handlers is the crux of the problem. Dealing with this at the application layer is problematic because there are so many code paths that need to be examined. As an alternative, the infrastructure could be fixed to recognize the case of using the old app ID instead of the new app ID in a key, and quietly make the substitution. That's a neat idea. Neat enough that you guys might implement it? I've suggested this before, but I'm glad that I've got your attention this time! I'll certainly bring up with the team. This would be a pretty huge step toward making the migration practical for me. 2) Migration of large data sets takes an extremely long time. Given that we regularly see M/S downtimes in the couple of hours range, a couple of hours is probably a reasonable amount of time to migrate. A couple of days is much too much. [Note that I have not personally gotten far enough into a migration to see this duration; I'm basing this on many user complaints I've read on this list.] Applications with small amounts of data can easily self migrate in a short period of time using datastore_admin. Applications with more data will benefit from the new migration tool Ikai mentioned. We created the tool specifically to simplify and speed up the migration for larger apps, and to reduce the read-only period required to make the final switch. Yes, I saw that in his note, and if it works as advertised, I suspect it will resolve this issue. 3) The problem of transactional consistency needs to be addressed. It is not acceptable for transactions to end in a maybe this worked, maybe it didn't state. They should either succeed or fail. (Although the docs not not say whether this problem is exclusive to HR, it seems to be, and certainly it matters much more in HR since every put is implicitly transactional.) There are subtle differences between the consistency guarantees offered by M/S and HRD. In some cases, apps need to make a few tweaks in order to work correctly in the new environment. The benefit is much more predictable/consistency latency and increased reliability. A good article which reviews the consistency guarantees can be found here: http://code.google.com/appengine/articles/transaction_isolation.html I'm not talking about consistency guarantees. I get that things change under HR, and it's pretty easy to understand what the implications of that are. What I'm talking about is the problem where you have to write idempotent transactions because you can never tell whether a transaction that threw certain exceptions succeeded or failed. That's really messed up, and you really need to fix that. But, to be fair, I'm not sure this problem will cause me actual problems if I switch to HR. It just makes me really, really uncomfortable. 4) As Ikai said, there are some
Re: [google-appengine] SDK 1.5.3 - deployment fails with the message Found interface com.google.appengine.tools.admin.Application, but class was expected.
Yep, we're on it: http://code.google.com/p/googleappengine/issues/detail?id=5612 We might end up releasing a new SDK for this. -- Ikai Lan Developer Programs Engineer, Google App Engine plus.ikailan.com | twitter.com/ikai On Wed, Aug 17, 2011 at 3:28 PM, MindRaider ultradvo...@gmail.com wrote: I have a problem with the deployment of my application with SDK 1.5.3. It compiles without any problems, but it fails just before the deployment with message: Found interface com.google.appengine.tools.admin.Application, but class was expected OS: Win7 64b; Eclipse Helios; GAE SDK 1.5.3; application http://web.mindforger.com After downgrade everything works perfectly. Any suggestions? -- 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] Re: Problem putting/retrieving from datastore
It doesn't look like it. This is the log INFO 2011-08-18 20:08:48,221 index.py:30] Wrote answer, key is agxkZXZ-bnVtZ3Vlc3NyDAsSBkFuc3dlchhWDA Traceback (most recent call last): File C:\Python25\lib\logging\__init__.py, line 744, in emit msg = self.format(record) File C:\Python25\lib\logging\__init__.py, line 630, in format return fmt.format(record) File C:\Python25\lib\logging\__init__.py, line 418, in format record.message = record.getMessage() File C:\Python25\lib\logging\__init__.py, line 288, in getMessage msg = msg % self.args TypeError: int argument required INFO 2011-08-18 20:08:48,299 dev_appserver.py:4247] POST / HTTP/ 1.1 200 - INFO 2011-08-18 20:08:48,456 dev_appserver.py:4247] GET / numguess.css HTTP/1.1 200 - If that means anything I see a TypeError... maybe that's what is stopping the random number entity to be pulled back out? Thanks again for the help. On Aug 18, 11:07 am, Robert Kluin robert.kl...@gmail.com wrote: Hey Matt, Yeah there was a typo in my same code, should not have been: logging.info('Wrote answer, key is: %s', str(answer.key())) but rather: logging.info('Wrote answer, key is: %s', str(answer)) What that is telling you is that an answer entity was successfully written. So, now you know that the entity is getting written, what is the next logging line? Are you getting an entity back from the datastore? Robert On Thu, Aug 18, 2011 at 12:33, Matt mpiechow...@gmail.com wrote: Thanks for the heads up on logging. I tried the logging but don't know if I did it right. For the first logging part in the code, I put: logging.info('Wrote answer, key is: %s', str(answer.key())) and it gave me this in the browser: AttributeError: 'Key' object has no attribute 'key' I tried replacing key with ans but that gave the same error type. When I just put: logging.info('Wrote answer, key is: %s', str(answer)) the log file comes with this: Wrote answer, key is agxkZXZ-bnVtZ3Vlc3NyDAsSBkFuc3dlchhUDA Am I doing something wrong or does this info mean anything? I honestly don't know what to make of it or what to change to get the random number in/out.. I feel like I am following what the docs say though. On Aug 17, 10:19 pm, Robert Kluin robert.kl...@gmail.com wrote: Hi, You should check out the Python logging package, it is super handy. Add some logging calls to your code so you can see what is happening. For example: import logging def post(self): stguess = self.request.get('guess') if stguess == 'new': answer = Answer(ans = (random.randint(1, 100))).put() logging.info('Wrote answer, key is: %s', str(answer.key())) number = Answer.all().get() if number is not None: logging.info('Got answer, value is: %d', number.ans) answer = number.ans else: logging.info('Oh No! Got no answer!') answer = None else: logging.info('Doing nothing.') Robert On Wed, Aug 17, 2011 at 17:33, Matt mpiechow...@gmail.com wrote: I am trying to pull an integer from the datastore but I keep getting None back. I store the integers here- class Answer(db.Model): ans = db.IntegerProperty() As a test I did this - def post(self): stguess = self.request.get('guess') if stguess == 'new': answer = Answer(ans = (random.randint(1, 100))).put() number = Answer.all().get() if number is not None: answer = number.ans else: answer = None msg = str(answer) So what that does is take user input from the user and if they entered 'new' follow the if path. ans equals a random integer between 1 and 100. Put it in Answer. Then immediately after, pull the first integer from Answer. If it is not None assign the variable answer to the result, else assign it to None. msg is displayed on screen. Instead of a random number which I am expecting to be displayed, None is displayed instead. I also tried using count to see how many items were actually in the database and the count was more than 0. Is there anything wrong with how I am putting or retrieving from the datastore? How can I change this so I get the random number into the answer variable, not None? Thanks for any 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 athttp://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] Re: Remote API + File API
I read the doc. you pointed out as such: when out.close() was called, the writeChannel was not closed; when readChannel.close() was called, the reader itself was not closed. So, looks like you only need to do one or the other. It may have to do with how closing is implemented on the channels. So remove out.close(), and see if the exception would go away. Wen On Aug 18, 7:05 am, André Salvati andre.f.salv...@gmail.com wrote: Hi, Maybe I've misunderstood docs, but I thought it was possible an external application to integrate with App Engine by creating a file in Blobstore. Am I doing something wrong?? Any way to accomplish this?? http://code.google.com/appengine/docs/java/blobstore/overview.html#Wr... Thanks. Code: public class RemoteAPI { public static void main(String[] args) throws IOException { String username = x...@gmail.com; String password = x; RemoteApiOptions options = new RemoteApiOptions() .server(primepartes.appspot.com, 443) .credentials(username, password); RemoteApiInstaller installer = new RemoteApiInstaller(); installer.install(options); FileService fileService = FileServiceFactory.getFileService(); BlobstoreService blobstoreService = BlobstoreServiceFactory.getBlobstoreService(); AppEngineFile file = fileService.createNewBlobFile(text/ plain); FileWriteChannel writeChannel = fileService.openWriteChannel(file, true); PrintWriter out = new PrintWriter(Channels.newWriter(writeChannel, UTF8)); out.println(The woods are lovely dark and deep.); out.println(But I have promises to keep.); out.close(); writeChannel.closeFinally(); // This line throwns the excepion bellow .. java.lang.IllegalStateException: The current request does not hold the exclusive lock. at com.google.appengine.api.files.FileServiceImpl.close(FileServiceImpl.java: 315) at com.google.appengine.api.files.FileWriteChannelImpl.closeFinally(FileWriteC hannelImpl.java: 78) at br.com.teste.RemoteAPI.main(RemoteAPI.java:82) -- 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] redirection to HTTPS is not working for Python app.yaml
to my Python app.yaml I added - url: /.* script: main.py * secure: always* BUT *I don't get automatically redirected to the HTTPS* * * *What is wrong?* * * According: http://code.google.com/appengine/docs/python/config/appconfig.html#Secure_URLs handlers: - url: /youraccount/.* script: accounts.py login: required *secure**: always* always. Requests for a URL that match this handler that do not use HTTPS are * automatically redirected to the HTTPS URL with the same path.* Query parameters are preserved for the redirect. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine/-/3AK1D939P5sJ. 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: Using GAE as a pipe
I have a friend who likes watching local basketball games, but due to blackout restrictions, he can't watch his favorite local team with NBA league pass, so he tunnels through a VPS based in the middle of the country to get around IP-geolocation based restrictions. A $5 VPS running sshd and some clever port forwarding is probably enough to get this done. In your case, you probably want to do reverse port forwarding for the VNC server to a locally accessible port in the VPS, then, in your VNC client, talk to localhost, where you have an SSH client listening on a local port forwarding to the port listening to localhost on the VPS. Note that more technical discussions about how to do this are outside the scope of this discussion forum, so you might want to plug some of these terms into your favorite search engine and just play around for a bit to get a feel for doing it. -- Ikai Lan Developer Programs Engineer, Google App Engine plus.ikailan.com | twitter.com/ikai On Thu, Aug 18, 2011 at 1:58 PM, Mikael Grev mikael.g...@gmail.com wrote: Thanks Barry. Much appreciated. Mikael On Aug 18, 8:44 pm, Barry Hunter barrybhun...@gmail.com wrote: No GAE wont really do this. GAE basically speaks HTTP - and over a CGI model. I.e. requests/responses. So a http requests comes in, a GAE script processes, it sends back some data (usually HTML but doesnt have to be) and then when the front end server gets the responce it forwards it back to the user. Probably a cheap VPS hosting somewhere will be best. On Thu, Aug 18, 2011 at 2:56 PM, Mikael Grev mikael.g...@gmail.com wrote: Hello, Is it possible in a fairly easy way to use GAE as a pipe, basically transporting custom binary data between two computers via a Google server? And if so (which I really expect to be possible) how will it perform? I mean approximately which throughput will I get. And is there a way, hopefully automatically, to make it use the closest server to pipe through? I ask because I was thinking about using GAE as a proxy server for VNC when there's two computers between firewalls that wants to talk to each other. Cheers, Mikael -- 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 athttp:// 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] Should Google deprecate Master/Slave data store option?
*I am responding here to combined comments:* *I followed Brett Slatikn recommendations how to perform most efficient operations on DataStore and it works extremely fast * *in Master / Slave.* +Robert Kluin For instance, fetching a large list of keys from multiple entity groups may be slower due to the transaction overhead. *I have list of keys only from one entity.* So you might need to evaluate your use of entity groups. It may also be that you've got a design that is making many datastore RPCs in serial, that will probably be more of an issue when on HR since there is a slightly higher average latency. *I store keys in lists. When getting the list * * * *for example* *class MyList(BaseModel):* *My_keys = db.ListProperty(db.Key) * * * *Brett Slatkin recommends about no more than 3,000 max and so do I.* * * *and this is parallel:* * e = MyList.get_profile(email) * * my_keys = e.my_keys my_key = db.get(my_keys) #That's it! Super fast! @classmethod def get_profile(self, email): if not email: return None root = MyRoot.get_profile() #cache self._cache = get_cache(memcached://) skey = email key_cache = 'MyList' + skey + str(root.key()) profile = self._cache.get(key_cache) #cache if not profile: key = db.Key.from_path('MyList', skey, parent=root.key()) profile = db.get(key) # not found - create if not profile: #def txn(): root = MyRoot.get_profile_del_cache() profile = MyList(key_name=skey, parent=root.key()) profile.put() return profile #return db.run_in_transaction(txn) #cache self._cache.set(key_cache, profile, timeout=CACHE_TIMEOUT) #cache return profile * +Fred Sauer verifying whether you are performing batch gets across entity groups *I have transactions in which I have an operations on different entity groups but this is by design. * I should also point out that I have yet to meet a developer whose not happier on HRD and migrating their app. You may well be the first (although I'm not trying to imply that you are the only one)... :) *The app is in development for more than a year and I followed best practices valid at this time before high replication* *datastore was introduced. Redesign is not an option because I already have generated a lot of interest and waiting list* *of customers ready to pay for the current functionality. The benefit I would get from going to High Replication does not * *justifies the effort: I have already 20,000 lines of code - redesign is not practical.* * * *Best,* * * *--Constantine* -- You received this message because you are subscribed to the Google Groups Google App Engine group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine/-/S6G9eOWRvVUJ. 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] Should Google deprecate Master/Slave data store option?
+Joshua Smith From my reading, M/S seems to have better throughput than HR, at the expense of more frequent downtime, and spurious datastore timeouts. I'd like to have that option in a multi-threaded app. This is more important for public app (site) with many anonymous users. My app is 100% user based - e.g. used after log-in, but heavy on data related to each particular user. The users are not accessing it very often (say they access it many times a day but this is not much) but when they access it they need to be as fast as possible. So *frequent downtime *is a non-issue, the chance a user to access it at exactly this time are minimal,* * *spurious datastore timeouts *is a non-issue because this is rare - so I can live with Master / Slave imperfections - it is good enough and I don;t need to rewrite and optimize again. +Ikai Lan Master/Slave doesn't have better throughput. In the 99th percentile, because of datastore latency spikes, high replication far outperforms master/slave. I think Master/Slave is a lot faster in my case up to 10 times faster. I tested it with only read, no write operations, no transactions, nothing special for example I have a heavy use of this expression: * e = MyList.get_profile(email) * * my_keys = e.my_keys my_members = db.get(my_keys) for member in my_members: member.property, etc. -- do something with the property * *and it is parallel in Master/Slave (according to Brett Slatkin presentation) . In High Replication I believe it is serial,* *probably I am wrong (I don't have a way to know) but this operation is very slow in High Replication.* * * *My code uses heavily this construct and it is extremely fast.* * * *Best,* * * *--Constantine* * * * * -- You received this message because you are subscribed to the Google Groups Google App Engine group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine/-/DoYJ0jkPJ7cJ. 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] Should Google deprecate Master/Slave data store option?
If you enable eventually consistent queries, a batch get by key in high replication should perform as fast as in master/slave. The practice you're citing from Brett is a few years old and predates high replication; would you be willing to revisit it if I roped him into updating it for high replication? -- Ikai Lan Developer Programs Engineer, Google App Engine plus.ikailan.com | twitter.com/ikai On Thu, Aug 18, 2011 at 2:58 PM, thstart thst...@gmail.com wrote: +Joshua Smith From my reading, M/S seems to have better throughput than HR, at the expense of more frequent downtime, and spurious datastore timeouts. I'd like to have that option in a multi-threaded app. This is more important for public app (site) with many anonymous users. My app is 100% user based - e.g. used after log-in, but heavy on data related to each particular user. The users are not accessing it very often (say they access it many times a day but this is not much) but when they access it they need to be as fast as possible. So *frequent downtime *is a non-issue, the chance a user to access it at exactly this time are minimal,* * *spurious datastore timeouts *is a non-issue because this is rare - so I can live with Master / Slave imperfections - it is good enough and I don;t need to rewrite and optimize again. +Ikai Lan Master/Slave doesn't have better throughput. In the 99th percentile, because of datastore latency spikes, high replication far outperforms master/slave. I think Master/Slave is a lot faster in my case up to 10 times faster. I tested it with only read, no write operations, no transactions, nothing special for example I have a heavy use of this expression: * e = MyList.get_profile(email) * * my_keys = e.my_keys my_members = db.get(my_keys) for member in my_members: member.property, etc. -- do something with the property * *and it is parallel in Master/Slave (according to Brett Slatkin presentation) . In High Replication I believe it is serial,* *probably I am wrong (I don't have a way to know) but this operation is very slow in High Replication.* * * *My code uses heavily this construct and it is extremely fast.* * * *Best,* * * *--Constantine* * * * * -- You received this message because you are subscribed to the Google Groups Google App Engine group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine/-/DoYJ0jkPJ7cJ. 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] Should Google deprecate Master/Slave data store option?
If you enable eventually consistent queries, a batch get by key in high replication should perform as fast as in master/slave. *is this related only to queries like:* q = db.GqlQuery(SELECT * FROM Person + WHERE last_name = :1 AND height :2 + ORDER BY height DESC, Smith, 72) http://code.google.com/appengine/docs/python/datastore/queries.html The Master/Slave Datastore and the High Replication Datastorehttp://code.google.com/appengine/docs/python/datastore/hr/ have different guarantees when it comes to query consistency. By default: - The Master/Slave datastore is strongly consistent for all queries. - The High Replication datastore is strongly consistent by default* for queries* within an entity group.http://code.google.com/appengine/docs/python/datastore/entities.html#Entity_Groups_and_Ancestor_Paths With the High Replication Datastore, non-ancestor queries are always eventually consistent. *If that is the case I managed to get rid of queries - I don't use any any queries, just working with lists and keys - * *it is parallel, fast, don't need indexes, etc. Bret Slatkin had very useful presentations and found them to be very simple* *and to work in practice.* * * *By the way our customers don't know what technique I am using only thing they care is to be fast and they are telling me* *up to now they haven't used a web app with so much functionality to be so fast. * * * *I would say they to be fast is that I designed the database as separate entity for each user - e.g. it scales with numbers of users* *automatically. Very important is that I don;t use any queries, indexes, etc. just lists of keys and for ... in construct for search,* *also the keys and entities are composed in as many ways possible in advance so when the user is searching for data it gets* *it instantly because search is embedded in the keys. In Master/S**lave all this worked in parallel and was extremely fast.* * * * * The practice you're citing from Brett is a few years old and predates high replication; would you be willing to revisit it if I roped him into updating it for high replication?* * Yes this is true, but you have to admit this is the only useful information on designing efficient data-store. There is *only one* serious book explaining how *AppEngine Datastore* is working and in this book you can read the same recommendation like Brett Slatkin recommends. And the book is a year old: Programming Google App Engine by Dan Sanderson Copyright © *2010* Dan Sanderson. Dan Sanderson is working at Google and explains everything extremely well and I believe after so much time and efforts invested to understand how it works and to successfully implement a very useful app with waiting customers - *do I have to think a book and technique explained in 2010 is already out-dated?* would you be willing to revisit it if I roped him into updating it for high replication? *I always want to know new techniques, so the quick answer is yes, definitely. * * * *You should also keep in mind that it is not a good business idea to constantly revisit * *and rewrite a perfectly working and tested code.* * * *Best,* *--Constantine* * * -- You received this message because you are subscribed to the Google Groups Google App Engine group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine/-/BzQWzYVCk3UJ. 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] Should Google deprecate Master/Slave data store option?
Eventually consistent datastore gets make get by key operations faster. Queries should perform the same, but better in failure scenarios in high replication. As far as things going out of date goes: that's just the technology world for you. Every API or service provider in the world will do their best to keep things up to date, but unless you're doing legacy COBOL maintenance, there's always going to bits where people will say, Oh, by the way, don't use that way anymore. Use this new way instead. The high replication datastore didn't exist when Dan wrote that book. Also, you should know how the book writing cycle works: a writer works with a publisher, then writes the book over the next year or two. During that time, the publisher markets the book, and the writer furiously tries to keep it up to date, knowing that chances are good there are bits that will be obsolete and his initial plan has to change. I don't know off the top of my head if Dan is planning on releasing a new version of his book or not. The first edition was printed in November 2009. In general, Dan's advice is correct: use get-by-key as much as possible, and any update to the book will likely include a section about high replication. -- Ikai Lan Developer Programs Engineer, Google App Engine plus.ikailan.com | twitter.com/ikai On Thu, Aug 18, 2011 at 3:52 PM, thstart thst...@gmail.com wrote: If you enable eventually consistent queries, a batch get by key in high replication should perform as fast as in master/slave. *is this related only to queries like:* q = db.GqlQuery(SELECT * FROM Person + WHERE last_name = :1 AND height :2 + ORDER BY height DESC, Smith, 72) http://code.google.com/appengine/docs/python/datastore/queries.html The Master/Slave Datastore and the High Replication Datastorehttp://code.google.com/appengine/docs/python/datastore/hr/ have different guarantees when it comes to query consistency. By default: - The Master/Slave datastore is strongly consistent for all queries. - The High Replication datastore is strongly consistent by default* for queries* within an entity group.http://code.google.com/appengine/docs/python/datastore/entities.html#Entity_Groups_and_Ancestor_Paths With the High Replication Datastore, non-ancestor queries are always eventually consistent. *If that is the case I managed to get rid of queries - I don't use any any queries, just working with lists and keys - * *it is parallel, fast, don't need indexes, etc. Bret Slatkin had very useful presentations and found them to be very simple* *and to work in practice.* * * *By the way our customers don't know what technique I am using only thing they care is to be fast and they are telling me* *up to now they haven't used a web app with so much functionality to be so fast. * * * *I would say they to be fast is that I designed the database as separate entity for each user - e.g. it scales with numbers of users* *automatically. Very important is that I don;t use any queries, indexes, etc. just lists of keys and for ... in construct for search,* *also the keys and entities are composed in as many ways possible in advance so when the user is searching for data it gets* *it instantly because search is embedded in the keys. In Master/S**lave all this worked in parallel and was extremely fast.* * * * * The practice you're citing from Brett is a few years old and predates high replication; would you be willing to revisit it if I roped him into updating it for high replication?* * Yes this is true, but you have to admit this is the only useful information on designing efficient data-store. There is *only one* serious book explaining how *AppEngine Datastore* is working and in this book you can read the same recommendation like Brett Slatkin recommends. And the book is a year old: Programming Google App Engine by Dan Sanderson Copyright © *2010* Dan Sanderson. Dan Sanderson is working at Google and explains everything extremely well and I believe after so much time and efforts invested to understand how it works and to successfully implement a very useful app with waiting customers - *do I have to think a book and technique explained in 2010 is already out-dated?* would you be willing to revisit it if I roped him into updating it for high replication? *I always want to know new techniques, so the quick answer is yes, definitely. * * * *You should also keep in mind that it is not a good business idea to constantly revisit * *and rewrite a perfectly working and tested code.* * * *Best,* *--Constantine* * * -- You received this message because you are subscribed to the Google Groups Google App Engine group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine/-/BzQWzYVCk3UJ. To post to this group, send email to google-appengine@googlegroups.com. To
Re: [google-appengine] Website Spam posing by appid: aking-741 using IP 64.233.172.1
*What do you want to do, monitor a site and if some app is hitting it too frequently automatically report it to Google for abusing *your* ToS?* (Not sure what you mean by ToS, must be a AppEngine code word.) Actually I do monitor my site. Doesn't everyone today monitor for pharmaceutical spam, SQL injection attempts and your classical bruteforce attacks? I'm not worry about an application hitting my sites. I see allot of good appid:'s . It's when an AppEngine application is used like an open proxy to spam sites. Then the scripts brings the hammer down. Aren't your applications a SaaS? (Software as a Service) Before you think, read what I have to say. If one of my sites picks up 20 or 30 spam posting attempts from a single AppEngine that's only my site. Add a few million other sites to the mix and your application just cost you a bundle in bandwidth to allow a spammer to use. Not my bandwidth but your applications bandwidth. I've read the DDoS and Reached Quota forum posts and my guess it's just spammers. They tend to flock 50 or so at a time averaging from what I detect 2 to 5 posts per second. I'm thinking if you all found a way to either get live abuse reports or updates it might actually save you money. I'm just trying to help you all, but if you have it handled then I'll just watch the apps eat your bandwidth and get posted on popular blacklists. Today's list includes: appengine-google; (+http://code.google.com/appengine; appid: domaintraker) IP: 209.85.224.84 Contents: http alonsoalic3 . splinder . com Percocet Dose (blah blah blah) It's only spam to me. I wonder how much bandwidth that app is costing: Remember, I'm only one in a million websites and it's clear I'm the only one to bring up an issue that is costing you money. The appid listed above was reported by one site I monitor: First seen: Report Date: 8/7/2011 4:32:41 AM last visited Report Date: 8/18/2011 1:33:25 AM Add 20 million and that's some good bandwidth for the appid: domaintraker. I'm sure there is a way to create a sub-routine to monitor POST / GET requests from your apps. I would believe that a Human wouldn't be sending Post and Get requests at 4 or more per second. I'd be glad to work with those that are willing to work on a application. I've opened up the NOC reports for visitors this week. You can find the Google IPs and Amazon listings. Look for the APPID: notice to see how often this happens. XCtM Project v2 http://www.xtremecomputer.com/xctm_project.asp Good luck and thanks for answering my questions. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine/-/ZuOOAgJ6VuUJ. 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] Status of federated logins
Hi everyone, We are going to release a new app engine-based paid service and pitch it to the substantial user base of our mobile apps in the coming weeks. We are very excited to see how this pans out. One thing we are a bit nervous about however is that we have used the federated login framework for identity management. Once our users create their accounts, we will be irrevocable committed to supporting them. At the same time, federated login is marked as an experimental feature - and we are wondering if this means that there's a chance that it might get dropped in a future release. Federated login is a really cool feature so we do want to keep it, but if it's too risky then we will opt to be safe and just use custom service-specific accounts. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine/-/ZbAyxzjPbuoJ. 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] erroring
google engineers, we see errors again. I appreciate your effort, GAE is great platform! But whats going on with GAE recently? is it because of increasing number of GAE users? -- 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: erroring
yeah appengine has my site down for 90 minutes now... think maybe someone spilled soda on an important server over at google HQ! hope things come back up soon! -- You received this message because you are subscribed to the Google Groups Google App Engine group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine/-/gavFGuZphYMJ. 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: erroring
Seems also the login to appemgine.google.com is down. Reco -- 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: erroring
things seem back to normal for me now, thanks Google heroes!!! -- You received this message because you are subscribed to the Google Groups Google App Engine group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine/-/bswxS9n8-s8J. 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: erroring
This is the only thing I can access right now, and it does not look good: http://code.google.com/status/appengine On Thu, Aug 18, 2011 at 8:45 PM, blackpawn pharmapsycho...@gmail.comwrote: things seem back to normal for me now, thanks Google heroes!!! -- You received this message because you are subscribed to the Google Groups Google App Engine group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine/-/bswxS9n8-s8J. 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: erroring
hehe yeah i totally posted too soon! everything went down a few minutes after :P -- You received this message because you are subscribed to the Google Groups Google App Engine group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine/-/OVa1GDVltf8J. 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: erroring
We're currently experiencing production issues. I'll post an update to the downtime notify list with details very shortly. Sincere apologies for the inconvenience. -Nick Johnson On Fri, Aug 19, 2011 at 11:51 AM, Rishi Arora rishi.ar...@ship-rack.comwrote: This is the only thing I can access right now, and it does not look good: http://code.google.com/status/appengine On Thu, Aug 18, 2011 at 8:45 PM, blackpawn pharmapsycho...@gmail.comwrote: things seem back to normal for me now, thanks Google heroes!!! -- You received this message because you are subscribed to the Google Groups Google App Engine group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine/-/bswxS9n8-s8J. 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. -- Nick Johnson, Developer Programs Engineer, App Engine -- 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: erroring
My apps are down too (appid: carglyonline). I get lots of intermittent Server Error messages. I get Server Error trying to access the dashboard. I also get errors trying to deploy a new version. Please fix :) Stephen -- You received this message because you are subscribed to the Google Groups Google App Engine group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine/-/ZNRceDf38J4J. 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: erroring
I'm seeing problems with the control panel, but my site is on HR datastore and the site is fine. Perhaps its only impacting master/slave datastore users? Stephen -- You received this message because you are subscribed to the Google Groups Google App Engine group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine/-/fcCwv0289lQJ. 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: erroring
thanx nick! good luck! -- You received this message because you are subscribed to the Google Groups Google App Engine group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine/-/0KioM7Tv0PYJ. 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: erroring
My app uses HR datastore, and all my app's entry points are impacted. On Thu, Aug 18, 2011 at 9:06 PM, reco r...@nex9.com wrote: thanx nick! good luck! -- You received this message because you are subscribed to the Google Groups Google App Engine group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine/-/0KioM7Tv0PYJ. 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] Re: erroring
Master/Slave datastore apps are down. HR ones are still working. Portal is down atm. On Aug 19, 10:06 am, reco r...@nex9.com wrote: thanx nick! good luck! -- 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: erroring
Please see this thread on the downtime notify group for updates: http://groups.google.com/group/google-appengine-downtime-notify/browse_thread/thread/ff24c9b1ed5e39a2 On Fri, Aug 19, 2011 at 12:12 PM, ZeroCool zero...@gmail.com wrote: Master/Slave datastore apps are down. HR ones are still working. Portal is down atm. On Aug 19, 10:06 am, reco r...@nex9.com wrote: thanx nick! good luck! -- 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. -- Nick Johnson, Developer Programs Engineer, App Engine -- 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: erroring
thanks! -- You received this message because you are subscribed to the Google Groups Google App Engine group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine/-/dQh31VMBMfMJ. 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] 500 error usually occurs
can not open my site http://djdqbbs.appspot.com, nor update, nor 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: 500 error usually occurs
if not 500 error, always see DeadlineExceededError. the code is not changed. On Aug 19, 10:23 am, saintthor saintt...@gmail.com wrote: can not open my sitehttp://djdqbbs.appspot.com, nor update, nor 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: Query Limit Problem/Question
The Geocoding API v3. I am using the Xml response. I just hit the limit tonight testing some changes that needed to be implemented. I had 698 addresses to geocode. I pulled them from the database and submit each address using: http://maps.googleapis.com/maps/api/geocode/xml?address={0}sensor=false I then write back some of the data in the response. I checked and 26 came up empty. I reran the code and 2 came back with the OVER_QUERY_LIMIT. So, it took 3 passes to geocode 698 addresses. I had to use 726 calls. Luckily this is only one of the tables that needs updating and we only submit it to geocoding when the address changes. We keep track of all our calls when geocoding on the server side as stated previously. Thanks again for the help. On Aug 17, 9:19 am, Ikai Lan (Google) ika...@google.com wrote: Is this the maps API you're referring to? -- Ikai Lan Developer Programs Engineer, Google App Engine plus.ikailan.com | twitter.com/ikai On Tue, Aug 16, 2011 at 9:28 AM, See The Light envisas...@gmail.com wrote: Over the past couple of weeks I have noticed an increase in the number of OVER_QUERY_LIMIT responses we have been receiving. Currently whenever we make a call to be geocoded we keep track of that call and decrease a counter on our end. I have historical data that shows we usually end the day with at least 300 queries left. This AM, I cannot even make a query off the server because it returns the limit message, and I show in our table that we have some 2300 call left. Is there a call that can be made to get your current query limit? If not, does the 2500 calls allowed happen in a sliding window? Are there hourly limits to prevent flooding? This would be greatly helpful provided our search mechanism first attempts to get relevant geocoded data from the server before actually calling over to Google for an unknown geocode. 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.
[google-appengine] Re: erroring
A couple of questions. What strategy do you use to move from Master Slave to High Replication? I assume it's not as easy as changing a configuration parameter. In fact, you cannot change Datastore Replication Options after you've created an application it seems. Do you simply create a new application using High Replication as the Datastore Replication Option and then migrate your data and migrate your source? Also, right after this outage, I tried to create a new application for example event-registration-hr and the admin console said it was available. I created it and it seemed to fail, but the name event- registration-hr was now taken, but not allocated to my applications. I tried again with another name and it happened again. Maybe an after effect of the outage. Thanks, Ralph On Aug 18, 9:57 pm, Stephen Mayer stephen.ma...@gmail.com wrote: I'm seeing problems with the control panel, but my site is on HR datastore and the site is fine. Perhaps its only impacting master/slave datastore users? Stephen -- 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] 500 error usually occurs
App Engine is currently experiencing production issues. Please see this thread on the downtime notify group for details: http://groups.google.com/group/google-appengine-downtime-notify/browse_thread/thread/ff24c9b1ed5e39a2?hl=en -Nick On Fri, Aug 19, 2011 at 12:23 PM, saintthor saintt...@gmail.com wrote: can not open my site http://djdqbbs.appspot.com, nor update, nor 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. -- Nick Johnson, Developer Programs Engineer, App Engine -- 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: erroring
On Fri, Aug 19, 2011 at 12:46 PM, fedex1 fed...@gmail.com wrote: A couple of questions. What strategy do you use to move from Master Slave to High Replication? I assume it's not as easy as changing a configuration parameter. In fact, you cannot change Datastore Replication Options after you've created an application it seems. Do you simply create a new application using High Replication as the Datastore Replication Option and then migrate your data and migrate your source? Yes. If you'd like to discuss this, though, you should probably start a new thread. Also, right after this outage, I tried to create a new application for example event-registration-hr and the admin console said it was available. I created it and it seemed to fail, but the name event- registration-hr was now taken, but not allocated to my applications. I tried again with another name and it happened again. Maybe an after effect of the outage. The outage is still ongoing. Please see this thread in the groups for details: http://groups.google.com/group/google-appengine-downtime-notify/browse_thread/thread/ff24c9b1ed5e39a2?hl=en -Nick Thanks, Ralph On Aug 18, 9:57 pm, Stephen Mayer stephen.ma...@gmail.com wrote: I'm seeing problems with the control panel, but my site is on HR datastore and the site is fine. Perhaps its only impacting master/slave datastore users? Stephen -- 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. -- Nick Johnson, Developer Programs Engineer, App Engine -- 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: Query Limit Problem/Question
You know this is the App Engine list, not a Maps or gdata list, right? On Thu, Aug 18, 2011 at 22:37, See The Light envisas...@gmail.com wrote: The Geocoding API v3. I am using the Xml response. I just hit the limit tonight testing some changes that needed to be implemented. I had 698 addresses to geocode. I pulled them from the database and submit each address using: http://maps.googleapis.com/maps/api/geocode/xml?address={0}sensor=false I then write back some of the data in the response. I checked and 26 came up empty. I reran the code and 2 came back with the OVER_QUERY_LIMIT. So, it took 3 passes to geocode 698 addresses. I had to use 726 calls. Luckily this is only one of the tables that needs updating and we only submit it to geocoding when the address changes. We keep track of all our calls when geocoding on the server side as stated previously. Thanks again for the help. On Aug 17, 9:19 am, Ikai Lan (Google) ika...@google.com wrote: Is this the maps API you're referring to? -- Ikai Lan Developer Programs Engineer, Google App Engine plus.ikailan.com | twitter.com/ikai On Tue, Aug 16, 2011 at 9:28 AM, See The Light envisas...@gmail.com wrote: Over the past couple of weeks I have noticed an increase in the number of OVER_QUERY_LIMIT responses we have been receiving. Currently whenever we make a call to be geocoded we keep track of that call and decrease a counter on our end. I have historical data that shows we usually end the day with at least 300 queries left. This AM, I cannot even make a query off the server because it returns the limit message, and I show in our table that we have some 2300 call left. Is there a call that can be made to get your current query limit? If not, does the 2500 calls allowed happen in a sliding window? Are there hourly limits to prevent flooding? This would be greatly helpful provided our search mechanism first attempts to get relevant geocoded data from the server before actually calling over to Google for an unknown geocode. 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. -- 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: Problem putting/retrieving from datastore
That is an excellent clue. Try changing logging.info('Got answer, value is: %d', number.ans) to: logging.info('Got answer, value is: %s', str(number.ans)) Also, just noticed one other thing. Instead of 'if number is not None', in Python you can do 'if number' -- much nicer. On Thu, Aug 18, 2011 at 16:16, Matt mpiechow...@gmail.com wrote: It doesn't look like it. This is the log INFO 2011-08-18 20:08:48,221 index.py:30] Wrote answer, key is agxkZXZ-bnVtZ3Vlc3NyDAsSBkFuc3dlchhWDA Traceback (most recent call last): File C:\Python25\lib\logging\__init__.py, line 744, in emit msg = self.format(record) File C:\Python25\lib\logging\__init__.py, line 630, in format return fmt.format(record) File C:\Python25\lib\logging\__init__.py, line 418, in format record.message = record.getMessage() File C:\Python25\lib\logging\__init__.py, line 288, in getMessage msg = msg % self.args TypeError: int argument required INFO 2011-08-18 20:08:48,299 dev_appserver.py:4247] POST / HTTP/ 1.1 200 - INFO 2011-08-18 20:08:48,456 dev_appserver.py:4247] GET / numguess.css HTTP/1.1 200 - If that means anything I see a TypeError... maybe that's what is stopping the random number entity to be pulled back out? Thanks again for the help. On Aug 18, 11:07 am, Robert Kluin robert.kl...@gmail.com wrote: Hey Matt, Yeah there was a typo in my same code, should not have been: logging.info('Wrote answer, key is: %s', str(answer.key())) but rather: logging.info('Wrote answer, key is: %s', str(answer)) What that is telling you is that an answer entity was successfully written. So, now you know that the entity is getting written, what is the next logging line? Are you getting an entity back from the datastore? Robert On Thu, Aug 18, 2011 at 12:33, Matt mpiechow...@gmail.com wrote: Thanks for the heads up on logging. I tried the logging but don't know if I did it right. For the first logging part in the code, I put: logging.info('Wrote answer, key is: %s', str(answer.key())) and it gave me this in the browser: AttributeError: 'Key' object has no attribute 'key' I tried replacing key with ans but that gave the same error type. When I just put: logging.info('Wrote answer, key is: %s', str(answer)) the log file comes with this: Wrote answer, key is agxkZXZ-bnVtZ3Vlc3NyDAsSBkFuc3dlchhUDA Am I doing something wrong or does this info mean anything? I honestly don't know what to make of it or what to change to get the random number in/out.. I feel like I am following what the docs say though. On Aug 17, 10:19 pm, Robert Kluin robert.kl...@gmail.com wrote: Hi, You should check out the Python logging package, it is super handy. Add some logging calls to your code so you can see what is happening. For example: import logging def post(self): stguess = self.request.get('guess') if stguess == 'new': answer = Answer(ans = (random.randint(1, 100))).put() logging.info('Wrote answer, key is: %s', str(answer.key())) number = Answer.all().get() if number is not None: logging.info('Got answer, value is: %d', number.ans) answer = number.ans else: logging.info('Oh No! Got no answer!') answer = None else: logging.info('Doing nothing.') Robert On Wed, Aug 17, 2011 at 17:33, Matt mpiechow...@gmail.com wrote: I am trying to pull an integer from the datastore but I keep getting None back. I store the integers here- class Answer(db.Model): ans = db.IntegerProperty() As a test I did this - def post(self): stguess = self.request.get('guess') if stguess == 'new': answer = Answer(ans = (random.randint(1, 100))).put() number = Answer.all().get() if number is not None: answer = number.ans else: answer = None msg = str(answer) So what that does is take user input from the user and if they entered 'new' follow the if path. ans equals a random integer between 1 and 100. Put it in Answer. Then immediately after, pull the first integer from Answer. If it is not None assign the variable answer to the result, else assign it to None. msg is displayed on screen. Instead of a random number which I am expecting to be displayed, None is displayed instead. I also tried using count to see how many items were actually in the database and the count was more than 0. Is there anything wrong with how I am putting or retrieving from the datastore? How can I change this so I get the random number into the answer variable, not None? Thanks for any 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
Re: [google-appengine] Re: Problem putting/retrieving from datastore
Also, just noticed one other thing. Instead of 'if number is not None', in Python you can do 'if number' -- much nicer. Though not very good if number can be 0 or as opposed to None ;-) I am not sure which reads better number is not None or not number is None or or number != None T -- You received this message because you are subscribed to the Google Groups Google App Engine group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine/-/OZApIUGT9noJ. 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: Problem putting/retrieving from datastore
Thanks again. Changed that line and now this appears in the logs: INFO 2011-08-19 04:02:28,358 index.py:33] Got answer, value is: None So it is putting something in and it is None. I am not sure why. I must not be using .put() correctly to store the random number? answer = Answer(ans = (random.randint(1, 100))).put() I have tried variations of the put() such as not assigning a random number inside this statement then referring to it, but it always comes up as None. On Aug 18, 9:29 pm, Robert Kluin robert.kl...@gmail.com wrote: That is an excellent clue. Try changing logging.info('Got answer, value is: %d', number.ans) to: logging.info('Got answer, value is: %s', str(number.ans)) Also, just noticed one other thing. Instead of 'if number is not None', in Python you can do 'if number' -- much nicer. On Thu, Aug 18, 2011 at 16:16, Matt mpiechow...@gmail.com wrote: It doesn't look like it. This is the log INFO 2011-08-18 20:08:48,221 index.py:30] Wrote answer, key is agxkZXZ-bnVtZ3Vlc3NyDAsSBkFuc3dlchhWDA Traceback (most recent call last): File C:\Python25\lib\logging\__init__.py, line 744, in emit msg = self.format(record) File C:\Python25\lib\logging\__init__.py, line 630, in format return fmt.format(record) File C:\Python25\lib\logging\__init__.py, line 418, in format record.message = record.getMessage() File C:\Python25\lib\logging\__init__.py, line 288, in getMessage msg = msg % self.args TypeError: int argument required INFO 2011-08-18 20:08:48,299 dev_appserver.py:4247] POST / HTTP/ 1.1 200 - INFO 2011-08-18 20:08:48,456 dev_appserver.py:4247] GET / numguess.css HTTP/1.1 200 - If that means anything I see a TypeError... maybe that's what is stopping the random number entity to be pulled back out? Thanks again for the help. On Aug 18, 11:07 am, Robert Kluin robert.kl...@gmail.com wrote: Hey Matt, Yeah there was a typo in my same code, should not have been: logging.info('Wrote answer, key is: %s', str(answer.key())) but rather: logging.info('Wrote answer, key is: %s', str(answer)) What that is telling you is that an answer entity was successfully written. So, now you know that the entity is getting written, what is the next logging line? Are you getting an entity back from the datastore? Robert On Thu, Aug 18, 2011 at 12:33, Matt mpiechow...@gmail.com wrote: Thanks for the heads up on logging. I tried the logging but don't know if I did it right. For the first logging part in the code, I put: logging.info('Wrote answer, key is: %s', str(answer.key())) and it gave me this in the browser: AttributeError: 'Key' object has no attribute 'key' I tried replacing key with ans but that gave the same error type. When I just put: logging.info('Wrote answer, key is: %s', str(answer)) the log file comes with this: Wrote answer, key is agxkZXZ-bnVtZ3Vlc3NyDAsSBkFuc3dlchhUDA Am I doing something wrong or does this info mean anything? I honestly don't know what to make of it or what to change to get the random number in/out.. I feel like I am following what the docs say though. On Aug 17, 10:19 pm, Robert Kluin robert.kl...@gmail.com wrote: Hi, You should check out the Python logging package, it is super handy. Add some logging calls to your code so you can see what is happening. For example: import logging def post(self): stguess = self.request.get('guess') if stguess == 'new': answer = Answer(ans = (random.randint(1, 100))).put() logging.info('Wrote answer, key is: %s', str(answer.key())) number = Answer.all().get() if number is not None: logging.info('Got answer, value is: %d', number.ans) answer = number.ans else: logging.info('Oh No! Got no answer!') answer = None else: logging.info('Doing nothing.') Robert On Wed, Aug 17, 2011 at 17:33, Matt mpiechow...@gmail.com wrote: I am trying to pull an integer from the datastore but I keep getting None back. I store the integers here- class Answer(db.Model): ans = db.IntegerProperty() As a test I did this - def post(self): stguess = self.request.get('guess') if stguess == 'new': answer = Answer(ans = (random.randint(1, 100))).put() number = Answer.all().get() if number is not None: answer = number.ans else: answer = None msg = str(answer) So what that does is take user input from the user and if they entered 'new' follow the if path. ans equals a random integer between 1 and 100. Put it in Answer. Then immediately after, pull the first integer from Answer. If it is not None assign the variable answer to the result, else assign it to None. msg
[google-appengine] Re: SDK 1.5.3 - deployment fails with the message Found interface com.google.appengine.tools.admin.Application, but class was expected.
Great! Thank you for logging the defect. -- martin On Aug 18, 9:59 pm, Ikai Lan (Google) ika...@google.com wrote: Yep, we're on it: http://code.google.com/p/googleappengine/issues/detail?id=5612 We might end up releasing a new SDK for this. -- Ikai Lan Developer Programs Engineer, Google App Engine plus.ikailan.com | twitter.com/ikai On Wed, Aug 17, 2011 at 3:28 PM, MindRaider ultradvo...@gmail.com wrote: I have a problem with the deployment of my application with SDK 1.5.3. It compiles without any problems, but it fails just before the deployment with message: Found interface com.google.appengine.tools.admin.Application, but class was expected OS: Win7 64b; Eclipse Helios; GAE SDK 1.5.3; application http://web.mindforger.com After downgrade everything works perfectly. Any suggestions? -- 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] Re: Problem putting/retrieving from datastore
Hi WHen you retrieve the record are you sure your getting the one you think you are ? Each time you put you create a new record. You get is returning the first record it finds (key order) If you wrote some Answer entities early on with no value, then you wont get a value in the Answer object. Probably should include your current code state, so we can see where you are up to. T -- You received this message because you are subscribed to the Google Groups Google App Engine group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine/-/1OIzkRkq2ggJ. 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: Problem putting/retrieving from datastore
On Thu, Aug 18, 2011 at 23:40, Tim Hoffman zutes...@gmail.com wrote: Also, just noticed one other thing. Instead of 'if number is not None', in Python you can do 'if number' -- much nicer. Though not very good if number can be 0 or as opposed to None ;-) True. But I find that syntax cleaner for an entity. Maybe just a personal preference though... I am not sure which reads better number is not None I like this one, it is very natural feeling. or not number is None or or number != None None is an instance, iirc. So you're supposed to use 'is' to check identity, I think. ;) T -- You received this message because you are subscribed to the Google Groups Google App Engine group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine/-/OZApIUGT9noJ. 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: Problem putting/retrieving from datastore
Hey Matt, You should use the datastore viewer and make sure you don't have some bad data in there. I'm guessing you've got entities where ans is not set for your earlier testing. The good news is that you now know how to use logging, so you'll be able to debug issues like this better in the future. Robert On Fri, Aug 19, 2011 at 00:13, Matt mpiechow...@gmail.com wrote: Thanks again. Changed that line and now this appears in the logs: INFO 2011-08-19 04:02:28,358 index.py:33] Got answer, value is: None So it is putting something in and it is None. I am not sure why. I must not be using .put() correctly to store the random number? answer = Answer(ans = (random.randint(1, 100))).put() I have tried variations of the put() such as not assigning a random number inside this statement then referring to it, but it always comes up as None. On Aug 18, 9:29 pm, Robert Kluin robert.kl...@gmail.com wrote: That is an excellent clue. Try changing logging.info('Got answer, value is: %d', number.ans) to: logging.info('Got answer, value is: %s', str(number.ans)) Also, just noticed one other thing. Instead of 'if number is not None', in Python you can do 'if number' -- much nicer. On Thu, Aug 18, 2011 at 16:16, Matt mpiechow...@gmail.com wrote: It doesn't look like it. This is the log INFO 2011-08-18 20:08:48,221 index.py:30] Wrote answer, key is agxkZXZ-bnVtZ3Vlc3NyDAsSBkFuc3dlchhWDA Traceback (most recent call last): File C:\Python25\lib\logging\__init__.py, line 744, in emit msg = self.format(record) File C:\Python25\lib\logging\__init__.py, line 630, in format return fmt.format(record) File C:\Python25\lib\logging\__init__.py, line 418, in format record.message = record.getMessage() File C:\Python25\lib\logging\__init__.py, line 288, in getMessage msg = msg % self.args TypeError: int argument required INFO 2011-08-18 20:08:48,299 dev_appserver.py:4247] POST / HTTP/ 1.1 200 - INFO 2011-08-18 20:08:48,456 dev_appserver.py:4247] GET / numguess.css HTTP/1.1 200 - If that means anything I see a TypeError... maybe that's what is stopping the random number entity to be pulled back out? Thanks again for the help. On Aug 18, 11:07 am, Robert Kluin robert.kl...@gmail.com wrote: Hey Matt, Yeah there was a typo in my same code, should not have been: logging.info('Wrote answer, key is: %s', str(answer.key())) but rather: logging.info('Wrote answer, key is: %s', str(answer)) What that is telling you is that an answer entity was successfully written. So, now you know that the entity is getting written, what is the next logging line? Are you getting an entity back from the datastore? Robert On Thu, Aug 18, 2011 at 12:33, Matt mpiechow...@gmail.com wrote: Thanks for the heads up on logging. I tried the logging but don't know if I did it right. For the first logging part in the code, I put: logging.info('Wrote answer, key is: %s', str(answer.key())) and it gave me this in the browser: AttributeError: 'Key' object has no attribute 'key' I tried replacing key with ans but that gave the same error type. When I just put: logging.info('Wrote answer, key is: %s', str(answer)) the log file comes with this: Wrote answer, key is agxkZXZ-bnVtZ3Vlc3NyDAsSBkFuc3dlchhUDA Am I doing something wrong or does this info mean anything? I honestly don't know what to make of it or what to change to get the random number in/out.. I feel like I am following what the docs say though. On Aug 17, 10:19 pm, Robert Kluin robert.kl...@gmail.com wrote: Hi, You should check out the Python logging package, it is super handy. Add some logging calls to your code so you can see what is happening. For example: import logging def post(self): stguess = self.request.get('guess') if stguess == 'new': answer = Answer(ans = (random.randint(1, 100))).put() logging.info('Wrote answer, key is: %s', str(answer.key())) number = Answer.all().get() if number is not None: logging.info('Got answer, value is: %d', number.ans) answer = number.ans else: logging.info('Oh No! Got no answer!') answer = None else: logging.info('Doing nothing.') Robert On Wed, Aug 17, 2011 at 17:33, Matt mpiechow...@gmail.com wrote: I am trying to pull an integer from the datastore but I keep getting None back. I store the integers here- class Answer(db.Model): ans = db.IntegerProperty() As a test I did this - def post(self): stguess = self.request.get('guess') if stguess == 'new': answer = Answer(ans = (random.randint(1, 100))).put() number = Answer.all().get() if number is not None: answer = number.ans else:
Re: [google-appengine] redirection to HTTPS is not working for Python app.yaml
Are you testing on the development server or production? On Thu, Aug 18, 2011 at 16:43, thstart thst...@gmail.com wrote: to my Python app.yaml I added - url: /.* script: main.py secure: always BUT I don't get automatically redirected to the HTTPS What is wrong? According: http://code.google.com/appengine/docs/python/config/appconfig.html#Secure_URLs handlers: - url: /youraccount/.* script: accounts.py login: required secure: always always. Requests for a URL that match this handler that do not use HTTPS are automatically redirected to the HTTPS URL with the same path. Query parameters are preserved for the redirect. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine/-/3AK1D939P5sJ. 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] Enabling billing on appengine
Did your order ever show up? If not, you might want to submit a billing issue: http://code.google.com/support/bin/request.py?contact_type=AppEngineBillingSupport On Thu, Aug 18, 2011 at 14:29, fedex1 fed...@gmail.com wrote: Hi I tried to enable billing on appspot id: race-timing And I see this error: And now appengine shows that billing will be enabled and billing changes cannot be made for 30 minutes, even though I don't see a google checkout order? Can someone help or let me know that it will clear itself. Thanks, Ralph Browse stores » Error Purchase History Error Help Oops! An error occurred while processing your request. To fix this issue: Try our quick troubleshooting tips -- users report these resolve most issues. Back to My Account Time when the error happened: 2011-08-18T18:20:25 (UTC) (4aacbb1d8) https://checkout.google.com/view/buy?o=shoppingcartshoppingcart=974369501494940pli=1 -- You received this message because you are subscribed to the Google Groups Google App Engine group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine/-/Y9DD8h5IpuoJ. 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] static-error-handlers
Did you change the version number after redeploying? Also, I've not looked at the headers, but have you cleared your cache? On Wed, Aug 17, 2011 at 14:29, Berfunkle nstensl...@gmail.com wrote: I defined static-error-handlers (add element to appengine-web.xml file and added static html page) and it seemed to work fine but now I want to remove them. I tried removing it from the appengine-web.xml file and also removed the actual static html file but I am still getting the static page instead of the error page generated by App Engine. I deleted other versions of application but that did not help. Any thoughts would be appreciated. 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] Channel API Sockets - Uni-Directional or Bi-Directional?
On Thu, Aug 18, 2011 at 13:46, eeejay e...@artefactgroup.com wrote: Question 1: Is this the correct forum to ask question about Channel API (which I am intending to use in conjunction with Google App Engine). Yes. Question 2: In the documentation for the Channel API it says: The JavaScript client opens a socket using the token provided by the server. It uses the socket to listen for updates on the channel. However communication from the client to the server seems to be in the form of a POST. Are Channel API sockets truly uni-directional server-to-client? Or is there a way for the client to communicate back via web socket? No; server-to-client is implemented using long-polling. The client-to-server uses POST requests back to the server. Robert -- 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] Website Spam posing by appid: aking-741 using IP 64.233.172.1
On Thu, Aug 18, 2011 at 20:32, Murray W mursem...@gmail.com wrote: What do you want to do, monitor a site and if some app is hitting it too frequently automatically report it to Google for abusing *your* ToS? terms-of-service (Not sure what you mean by ToS, must be a AppEngine code word.) Actually I do monitor my site. Doesn't everyone today monitor for pharmaceutical spam, SQL injection attempts and your classical bruteforce attacks? Probably. I'm not worry about an application hitting my sites. I see allot of good appid:'s . It's when an AppEngine application is used like an open proxy to spam sites. Then the scripts brings the hammer down. Yes, I personally very much agree with you on this. All of the proxy sites on App Engine are extremely annoying, especially when they are 'spoofing' legitimate sites on App Engine. Excellent setup for a phishing attack. Aren't your applications a SaaS? (Software as a Service) Before you think, read what I have to say. If one of my sites picks up 20 or 30 spam posting attempts from a single AppEngine that's only my site. Add a few million other sites to the mix and your application just cost you a bundle in bandwidth to allow a spammer to use. Not my bandwidth but your applications bandwidth. I've read the DDoS and Reached Quota forum posts and my guess it's just spammers. They tend to flock 50 or so at a time averaging from what I detect 2 to 5 posts per second. I'm thinking if you all found a way to either get live abuse reports or updates it might actually save you money. I'm just trying to help you all, but if you have it handled then I'll just watch the apps eat your bandwidth and get posted on popular blacklists. Today's list includes: appengine-google; (+http://code.google.com/appengine; appid: domaintraker) IP: 209.85.224.84 Contents: http alonsoalic3 . splinder . com Percocet Dose (blah blah blah) It's only spam to me. I wonder how much bandwidth that app is costing: Remember, I'm only one in a million websites and it's clear I'm the only one to bring up an issue that is costing you money. The appid listed above was reported by one site I monitor: First seen: Report Date: 8/7/2011 4:32:41 AM last visited Report Date: 8/18/2011 1:33:25 AM Add 20 million and that's some good bandwidth for the appid: domaintraker. I'm sure there is a way to create a sub-routine to monitor POST / GET requests from your apps. I would believe that a Human wouldn't be sending Post and Get requests at 4 or more per second. I'd be glad to work with those that are willing to work on a application. I've opened up the NOC reports for visitors this week. You can find the Google IPs and Amazon listings. Look for the APPID: notice to see how often this happens. XCtM Project v2 Good luck and thanks for answering my questions. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine/-/ZuOOAgJ6VuUJ. 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.