[appengine-java] Re: Eclipse (GWT) problem running project.
unfortunately, there is no chance that I ever renamed the project. The demo is fully generated fresh from project generator. -- 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/-/oIfOQ0ejPzsJ. 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] Error
I am using Netbeans with GAE without any issues at the moment, so it should work. Can you check some things please? Can you run the dev server using the command line (dev_appserver.cmd)? If you can, can you run your code with it? Have you loaded the server in Netbeans correctly - with the correct paths, etc. listed under Servers under the Tools menu? Does the file nbproject\ant-deploy.xml contain the correct path for the SDK? Thanks, Mat. On 14 November 2011 04:22, Emmanuel Saenz emmanuel.sae...@gmail.com wrote: init: deps-module-jar: deps-ear-jar: deps-jar: library-inclusion-in-archive: library-inclusion-in-manifest: compile: compile-jsps: Starting Google App Engine Google App Engine Start Failed C:\Users\Familia\Documents\NetBeansProjects\emmanuelsaenzc\nbproject \build-impl.xml:721: Deployment error: Google App Engine Start Failed See the server log for details. at org.netbeans.modules.j2ee.deployment.devmodules.api.Deployment.deploy(Deployment.java: 223) at org.netbeans.modules.j2ee.ant.Deploy.execute(Deploy.java:106) at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java: 291) at sun.reflect.GeneratedMethodAccessor77.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java: 25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java: 106) at org.apache.tools.ant.Task.perform(Task.java:348) at org.apache.tools.ant.Target.execute(Target.java:390) at org.apache.tools.ant.Target.performTasks(Target.java:411) at org.apache.tools.ant.Project.executeSortedTargets(Project.java: 1399) at org.apache.tools.ant.Project.executeTarget(Project.java:1368) at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java: 41) at org.apache.tools.ant.Project.executeTargets(Project.java:1251) at org.apache.tools.ant.module.bridge.impl.BridgeImpl.run(BridgeImpl.java: 284) at org.apache.tools.ant.module.run.TargetExecutor.run(TargetExecutor.java: 539) at org.netbeans.core.execution.RunClassThread.run(RunClassThread.java: 153) BUILD FAILED (total time: 2 seconds) -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-java@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-java@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
[appengine-java] Re: Best way to optimize a bulk update?
Hi Amy, I did not know you could use the query cursor in that way! Very interesting, thanks for the pointer. You are right my current approach will not scale well, I'll research this use of query cursors with task queues. Cheers, John On Nov 13, 11:50 pm, Amy Unruh amyu+gro...@google.com wrote: John, It looks like you only need to modify the 'active' user objects. In that case, you would want to use a Query that filters on the 'active' field, rather than fetching all User objects via an Extent. In addition, as your app scales it will probably make sense to break up your work into smaller batches using the Task Queue and Query Cursors (http://code.google.com/appengine/docs/java/datastore/jdo/queries.html...). Fetch a batch of the user objects. Then, use the query cursor-- obtained from the query results-- to enqueue a task to process the next batch of objects starting at that cursor point, and so on. To speed things up, you can enqueue the next task before you start processing the objects returned from the current query. On Fri, Nov 11, 2011 at 5:47 AM, John Clarke clarke...@gmail.com wrote: Hi, I'm trying to optimize my use of the Datastore. One of my slowest operations reads all of the entities from a table and updates the information in them all. I currently do this like so: PersistenceManager pm = PMF.get().getPersistenceManager(); Extent extent = pm.getExtent(Users.class); for(Object userObj : extent) { User user = (User)userObj; // only update active users if(user.isActive()) { // // in here I set some fields for each active user // } } // closs all fields and automatically save all the User objects extent.closeAll(); My User class is a POJO with various getters/setters for the data. It contains 13 fields and the primary key is a string. What is the best way to improve this? The User table currently only has 100 or so users but it could potentially grow to thousands. This operation runs every 10 minutes via cron and it takes about 30-40 seconds to complete!! What happens when extent.closeAll() is called? will it do multiple writes or is it a batch save? I'm currently using GAE v1.5.1 but am looking to move to v1.6 in the near future. Thanks, J -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-java@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-java@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
[appengine-java] Re: Eclipse (GWT) problem running project.
I've installed Eclipse (Indigo) 3.5, and installed Java jdk1.7.0_01. I also installed the google plugin for Eclipse with the GWT SDK 2.4.0 and the App Engine SDK 1.5.5 for Eclipse. The Java JDK has been checked in the preferences at the installed JRE's. When I create a new google webapplication with an example code. It appears to be working normally and the new webapplication is being created as a new project. But when I try to run the project. The console comes up with the following anouncement: Loading modules com.demo.Demo [ERROR] Unable to find 'com/demo/Demo.gwt.xml' on your classpath; could be a typo, or maybe you forgot to include a classpath entry for source? [ERROR] shell failed in doStartup method When I try to ignore this error by unchecking this error in google settings. When I run the program and when I execute the demo, I get this error message: *nov 14, 2011 10:25:53 AM com.google.apphosting.utils.jetty.JettyLogger info INFO: Logging to JettyLogger(null) via com.google.apphosting.utils.jetty.JettyLogger nov 14, 2011 10:25:53 AM com.google.apphosting.utils.config.AppEngineWebXmlReader readAppEngineWebXml INFO: Successfully processed C:\Users\Oswin\workspace2\demo\war\WEB-INF/appengine-web.xml nov 14, 2011 10:25:53 AM com.google.apphosting.utils.config.AbstractConfigXmlReader readConfigXml INFO: Successfully processed C:\Users\Oswin\workspace2\demo\war\WEB-INF/web.xml nov 14, 2011 11:25:55 AM com.google.appengine.tools.development.DevAppServerImpl start INFO: The server is running at http://localhost:/nov 14, 2011 10:26:11 AM com.google.apphosting.utils.jetty.JettyLogger warn WARNING: Error for /demo/greet java.lang.VerifyError: Expecting a stackmap frame at branch target 17 in method com.googleapp.demo.server.GreetingServiceImpl.greetServer(Ljava/lang/String;)Ljava/lang/String; at offset 4 at java.lang.Class.getDeclaredConstructors0(Native Method) at java.lang.Class.privateGetDeclaredConstructors(Class.java:2404) at java.lang.Class.getConstructor0(Class.java:2714) at java.lang.Class.newInstance0(Class.java:343) at java.lang.Class.newInstance(Class.java:325) at org.mortbay.jetty.servlet.Holder.newInstance(Holder.java:153) at org.mortbay.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:428) at org.mortbay.jetty.servlet.ServletHolder.getServlet(ServletHolder.java:339) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1166) at com.google.appengine.tools.development.HeaderVerificationFilter.doFilter(HeaderVerificationFilter.java:35) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) at com.google.appengine.api.blobstore.dev.ServeBlobFilter.doFilter(ServeBlobFilter.java:58) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) at com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java:43) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) at com.google.appengine.tools.development.StaticFileFilter.doFilter(StaticFileFilter.java:122) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) at com.google.appengine.tools.development.BackendServersFilter.doFilter(BackendServersFilter.java:97) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388) at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182) at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765) at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418) at com.google.apphosting.utils.jetty.DevAppEngineWebAppContext.handle(DevAppEngineWebAppContext.java:70) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) at com.google.appengine.tools.development.JettyContainerService$ApiProxyHandler.handle(JettyContainerService.java:351) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) at org.mortbay.jetty.Server.handle(Server.java:326) at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542) at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:938) at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:755) at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218) at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404) at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409) at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582) * How can I solve this problem? -- You received this message because you are subscribed to the Google
[appengine-java] Channel API reconnect after token timeout
Hi, I'm not able to re-open a channel after the token expired. I'm using GWT on the client side. I am creating a new channel after the onError() method is called when the token expires. Everything looks ok but I do not get any events after reopening the channel. I've read in another thread that I had to delete the iframe manually, but this did not help either. Any ideas? Anybody managed to properly reconnect after timeout using GWT? Thanks, Daniel -- 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/-/CQxdbpTJw5wJ. 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] Error
By happy coincidence, I've just installed Netbeans and my code to a new machine and had exactly the same issue. The problem is that my default java.exe (the one that runs if you type java into a command prompt) is a version that belongs to a JRE. The vital line in the error log is one saying it could not find tools.jar in c:\program files\java\jre6\lib - which it wouldn't because tools.jar is not part of the JRE, it's part of the JDK. I resolved this by setting my path variable to include the bin directory of my JDK - in my case c:\program files\java\jdk1.6.0_22\bin before the location of java.exe I also uninstalled the JRE because I don't need it, but I guess that's optional. On my previous dev machine I'd been using jdk7 and jre7 and had no issues. Thanks, Mat. On 14 November 2011 09:23, Matthew Jaggard matt...@jaggard.org.uk wrote: I am using Netbeans with GAE without any issues at the moment, so it should work. Can you check some things please? Can you run the dev server using the command line (dev_appserver.cmd)? If you can, can you run your code with it? Have you loaded the server in Netbeans correctly - with the correct paths, etc. listed under Servers under the Tools menu? Does the file nbproject\ant-deploy.xml contain the correct path for the SDK? Thanks, Mat. On 14 November 2011 04:22, Emmanuel Saenz emmanuel.sae...@gmail.com wrote: init: deps-module-jar: deps-ear-jar: deps-jar: library-inclusion-in-archive: library-inclusion-in-manifest: compile: compile-jsps: Starting Google App Engine Google App Engine Start Failed C:\Users\Familia\Documents\NetBeansProjects\emmanuelsaenzc\nbproject \build-impl.xml:721: Deployment error: Google App Engine Start Failed See the server log for details. at org.netbeans.modules.j2ee.deployment.devmodules.api.Deployment.deploy(Deployment.java: 223) at org.netbeans.modules.j2ee.ant.Deploy.execute(Deploy.java:106) at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java: 291) at sun.reflect.GeneratedMethodAccessor77.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java: 25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java: 106) at org.apache.tools.ant.Task.perform(Task.java:348) at org.apache.tools.ant.Target.execute(Target.java:390) at org.apache.tools.ant.Target.performTasks(Target.java:411) at org.apache.tools.ant.Project.executeSortedTargets(Project.java: 1399) at org.apache.tools.ant.Project.executeTarget(Project.java:1368) at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java: 41) at org.apache.tools.ant.Project.executeTargets(Project.java:1251) at org.apache.tools.ant.module.bridge.impl.BridgeImpl.run(BridgeImpl.java: 284) at org.apache.tools.ant.module.run.TargetExecutor.run(TargetExecutor.java: 539) at org.netbeans.core.execution.RunClassThread.run(RunClassThread.java: 153) BUILD FAILED (total time: 2 seconds) -- 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] JDOQL Query for missing properties
Hi, I have a new property on an Entity and its only set at the new ones. The old entites show missing in the datastore viewer. How can i query with jdoql for entites that have missing OR propertyx ? thx in advance schtieF -- 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/-/EEGYHGa9tssJ. 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] JDOQL Query for missing properties
Because missing properties are not put into any index, it's not possible to query on them. The only option is to query for every single entity of the particular type. I guess you might need to change your code to include those parameters and then write an update method that you can run only once to query for all entities, update the property and then put them back to the datastore. Mat. On 14 November 2011 14:12, Mr. Schtief lisc...@gmail.com wrote: Hi, I have a new property on an Entity and its only set at the new ones. The old entites show missing in the datastore viewer. How can i query with jdoql for entites that have missing OR propertyx ? thx in advance schtieF -- 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/-/EEGYHGa9tssJ. To post to this group, send email to google-appengine-java@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-java@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
[appengine-java] Re: Channel API reconnect after token timeout
...finally figured out how to properly remove the iframe from a GWT app: public static native void removeChannelApi() /*-{ var child = $wnd.parent.document.getElementById(wcs-iframe); if ( child != null ) { child.parentNode.removeChild(child); } }-*/; -- 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/-/sg_sPX024w8J. 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] JDO embedded object not being initialized after JDO query
Hi, I have a really simple domain structure, like this: @PersistenceCapable Account implements Serializable { @Persistent @PrimaryKey Key id; @Persistent @Embedded AccountDetails details; } @PersistenceCapable @EmbeddedOnly AccountDetails implements Serializable { @Persistent String name; } I can successfully save a new Account. However, when I retrieve it, either doing a - (PersistenceManagerFactory).getObjectById - JDO query the object is found, but that property is *always *null. Is something missing in the code above? I have also noticed that @Persistent(serialized=true) fields in embedded classes seem to cause an exception while saving the *Account*. (is this a known issue or I'm doing something wrong again?). Thanks. -- 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/-/BD_6D5BPe10J. 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] Updating Eclipse
Hey googler's... It has been a week now since 1.6.0 has been released. I'd love to see an update to the Eclipse integration to support the new version. Ideally, this would go out on the same day a new version is released. Is there anything I can do to help? thanks, jon -- 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/-/gjYDmsVe-zAJ. 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: Updating Eclipse
nothing, but installing the SDK by hand as we used to do :-( On Nov 15, 6:18 am, jon stevens latch...@gmail.com wrote: Hey googler's... It has been a week now since 1.6.0 has been released. I'd love to see an update to the Eclipse integration to support the new version. Ideally, this would go out on the same day a new version is released. Is there anything I can do to help? thanks, jon -- 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: Eclipse (GWT) problem running project.
I had a similar problem in Eclipse 3.7. I solved it by downgrading to JRE 1.6. -Markus This mail was written on a mobile device. Please bear with me for any typos. Am 14.11.2011 11:39 schrieb Oswin osw-...@hotmail.com: I've installed Eclipse (Indigo) 3.5, and installed Java jdk1.7.0_01. I also installed the google plugin for Eclipse with the GWT SDK 2.4.0 and the App Engine SDK 1.5.5 for Eclipse. The Java JDK has been checked in the preferences at the installed JRE's. When I create a new google webapplication with an example code. It appears to be working normally and the new webapplication is being created as a new project. But when I try to run the project. The console comes up with the following anouncement: Loading modules com.demo.Demo [ERROR] Unable to find 'com/demo/Demo.gwt.xml' on your classpath; could be a typo, or maybe you forgot to include a classpath entry for source? [ERROR] shell failed in doStartup method When I try to ignore this error by unchecking this error in google settings. When I run the program and when I execute the demo, I get this error message: *nov 14, 2011 10:25:53 AM com.google.apphosting.utils.jetty.JettyLogger info INFO: Logging to JettyLogger(null) via com.google.apphosting.utils.jetty.JettyLogger nov 14, 2011 10:25:53 AM com.google.apphosting.utils.config.AppEngineWebXmlReader readAppEngineWebXml INFO: Successfully processed C:\Users\Oswin\workspace2\demo\war\WEB-INF/appengine-web.xml nov 14, 2011 10:25:53 AM com.google.apphosting.utils.config.AbstractConfigXmlReader readConfigXml INFO: Successfully processed C:\Users\Oswin\workspace2\demo\war\WEB-INF/web.xml nov 14, 2011 11:25:55 AM com.google.appengine.tools.development.DevAppServerImpl start INFO: The server is running at http://localhost:/nov 14, 2011 10:26:11 AM com.google.apphosting.utils.jetty.JettyLogger warn WARNING: Error for /demo/greet java.lang.VerifyError: Expecting a stackmap frame at branch target 17 in method com.googleapp.demo.server.GreetingServiceImpl.greetServer(Ljava/lang/String;)Ljava/lang/String; at offset 4 at java.lang.Class.getDeclaredConstructors0(Native Method) at java.lang.Class.privateGetDeclaredConstructors(Class.java:2404) at java.lang.Class.getConstructor0(Class.java:2714) at java.lang.Class.newInstance0(Class.java:343) at java.lang.Class.newInstance(Class.java:325) at org.mortbay.jetty.servlet.Holder.newInstance(Holder.java:153) at org.mortbay.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:428) at org.mortbay.jetty.servlet.ServletHolder.getServlet(ServletHolder.java:339) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1166) at com.google.appengine.tools.development.HeaderVerificationFilter.doFilter(HeaderVerificationFilter.java:35) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) at com.google.appengine.api.blobstore.dev.ServeBlobFilter.doFilter(ServeBlobFilter.java:58) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) at com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java:43) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) at com.google.appengine.tools.development.StaticFileFilter.doFilter(StaticFileFilter.java:122) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) at com.google.appengine.tools.development.BackendServersFilter.doFilter(BackendServersFilter.java:97) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388) at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182) at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765) at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418) at com.google.apphosting.utils.jetty.DevAppEngineWebAppContext.handle(DevAppEngineWebAppContext.java:70) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) at com.google.appengine.tools.development.JettyContainerService$ApiProxyHandler.handle(JettyContainerService.java:351) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) at org.mortbay.jetty.Server.handle(Server.java:326) at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542) at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:938) at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:755) at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218) at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404) at
[appengine-java] Re: Updating Eclipse
Yea, that is obvious, but lame. Every time I restart the container, I get this big message saying that an update is available, but I can't actually auto install 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/-/MGX-v0-3u9oJ. 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] corrupted content of text/html part in received email
Hi, App engine cannot receive html email ( sent from gmail ) correctly. ( @appid.appspotmail.com) The following code will show the error: byte[] bytes = content.getBytes(encoding); // gmail used ISO-8859-1 mostly, UTF-8 sometime also printBytes(bytes); - output: 64 (offset from beginning): 30 2e 38 65 78 3b 20* 00 *61 64 64 69 6e 67 2d 6c - 0.8ex; 144: *00 *63 6f 6d 3c 2f 61 3e 26 67 74 3b 3c 2f 73 70 - 208: 20 30 70 78 20 30 2e 38 65* 00 *3b 20 70 61 64 64 - 0px 0.8e 00 doesn't make sense here and it was another correct character which was overwritten to 0. It repros in every html emails sent from gmail. The corruption happens every 72 characters or so. Looks like a bug we will file. -T -- 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/-/Ggg6jLrm1cgJ. To post to this group, send email to google-appengine-java@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
[google-appengine] Re: Datastore operations are seriously expensive
If you're churning through your datastore ops because you have 100 indexes, you would have churned through your CPU quota before. The problem is you're trying to update too many indexes. The only solution is don't. Not true. I had an application that I optimized in CPU usage and it was well below the limits every day. I only had two entities with a few indexes each (three and four respectively). The latter is updated frequently (several times a day). I (currently) have about 4000 entities which required approximately 20 write operations on each update. This was no problem under the old billing model! I threw out some of the indexes but on the cost of usability. Now I'm down to 8 write ops for a new entity and 6 for an update. I got those figures from the dev environment, but what I'd really like to see is read and write ops in the production logs, since the new billing isn't focused around CPU cycles anymore. My two cents. Volker -- 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: routing appspot.com domain to a personal domain
You don’t want to serve from appspot it creates duplicate content in Search, and if your domain is new, the appspot domain will be the primary and your domain will get penalized as a scraped site. -Original Message- From: google-appengine@googlegroups.com [mailto:google-appengine@googlegroups.com] On Behalf Of o1iver Sent: Sunday, November 13, 2011 4:45 PM To: Google App Engine Subject: [google-appengine] Re: routing appspot.com domain to a personal domain I don't know if that is possible, but why would you want to do that? It doesn't matter does it? Oliver On Nov 8, 8:24 pm, notnarayan notnara...@gmail.com wrote: Hello everyone. I have been building an app athttp://praisetheyellowball.appspot.com/ and wish to serve it athttp://yellow.shankarnarayan.in. I have been successful at linking the app by making the required changes on the CNAME on my DNS server. How do I stop serving the app on the appspot domain and still make it available on the desired domain. notnarayan -- 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: Channel limit
It was my mistake while I parse messages. I try send 1000 messages - it delivery ok. Do google save sended messages in any buffer when channel disconnect. What size of this buffer? 2011/11/14 Timofey Koolin timo...@koolin.ru I don't have any exceptions on server-side and client side. Size of every js about 500 bytes. 2011/11/14 Timofey Koolin timo...@koolin.ru My code look like: updates = get_updates(...) channel = get_channel(...) for update in updates: id = memcache.incr('mess id', initial_value=1) update['mess_id'] = id js = json.dumps(update) channel.send_message(channel, js) I have about 50 updates. After receive about 20-30 messages client side code receive one message infinite times and don't receive new messages. For example: receive 1 receive 2 receive ... receive 21 pause 20-60 sec receive 21 pause 20-60 sec receive 21 pause 20-60 sec receive 21 pause 20-60 sec receive 21 pause 20-60 sec ... 2011/11/14 Timofey Koolin timo...@koolin.ru Amy Unruh, i far from any quota deny - all quotas are ok. Yes, I know about handle channel disconnect, but I write application for internal-use with good internet-connection and i don't want handle connect/disconnect and make internal buffer for messages (when channel disconnected) if it possible. I'm send every email as different message. Yes, I forget about one message size limit - thanks, I try check it. 2011/11/14 Max thebb...@gmail.com hi Rekby, I am pretty sure your 100 emails just exceed channel API 32K max message size. Check message size before you send Max -- 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/-/I_rB81Ns8lsJ. 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. -- Blog: www.rekby.ru -- Blog: www.rekby.ru -- Blog: www.rekby.ru -- Blog: www.rekby.ru -- 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: New pricing structure infinity increase
But that article says to DECREASE latency whereas the two sliders in the applications seyting page would indicate that you should INCREASE latency. Now I am confused! On Nov 14, 1:34 am, Gregory D'alesandre gr...@google.com wrote: Hi Kate, check out the article that we wrote about optimizing your app to minimize costs:http://code.google.com/appengine/articles/managing-resources.html Without looking at your app its hard to know what the right settings should be although you are only charged for the number of idle instances up to the max you set as you Max Idle Instances. Max Idle Instances also controls how quickly the scheduler tears instances down for you though, so it you set it to 1, it means that the scheduler will aggressively take down any additional instances which could impact your performance. Greg On Sun, Nov 13, 2011 at 3:42 PM, Kate mss.ka...@gmail.com wrote: I AM getting charged for instances! -- 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/-/2ZHYpc8KRU8J. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
Re: [google-appengine] Datastore operations are seriously expensive
The links is a redirect to http://code.google.com/appengine/docs/kb/billing.html But it should be (I think) http://code.google.com/appengine/kb/billing.html 7 november 2011 17:48 Kenneth kennet...@aladdinschools.com wrote: This may be old news to people but I just discovered it. http://code.google.com/appengine/kb/postpreviewpricing.html#operations_charged_for -- 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: New pricing structure infinity increase
You definately have to INCREASE latency to reduce costs. As far as I understood, the sliders work like this: min latency: once it is reached (=a request waits in queue for that time), app engine might start another instance (I don't know on what it bases the decision whether to actually do it) max latency: once it is reached, app engine ALWAYS starts a new instance. There are no free instances, at least not directly. Since you have 28 free instance hours per day, you can run one instance for free during all of the day though, and another one for a few hours. Or you can run 14 instances for 2 hours. If you exceed the daily 28h-limit on a regular basis, you should absolutely get discounted instance hours since they are 0.5$ instead of 0.8$ (0.25 instead of 0.4 right now). You have to calculate the cost of each unused discounted instance hour as 0.5$ and the cost of each full-price instance hour (which could have been a discounted unit) as 0.3$. Or in other words: It is better to buy 10 discounted hours too much than buying 20 too little. This is my personal understanding of the matter. If I am wrong, please correct me. -- 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/-/dVLQ2iGxuaEJ. 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] AssertionErrors from URLFetch RPCs
Can you please add the full stack trace? And if it is repeatable either a code snippet or an explanation of what your program was doing when the exception occured. On 14 November 2011 18:29, someone1 someo...@gmail.com wrote: I am continunously getting the following error for a segment of code that has been working fine until just now: ... result = rpc.get_result() File /base/python27_runtime/python27_lib/versions/1/google/ appengine/api/apiproxy_stub_map.py, line 589, in get_result self.check_success() File /base/python27_runtime/python27_lib/versions/1/google/ appengine/api/apiproxy_stub_map.py, line 556, in check_success self.wait() File /base/python27_runtime/python27_lib/versions/1/google/ appengine/api/apiproxy_stub_map.py, line 530, in wait assert self.__rpc.state != apiproxy_rpc.RPC.IDLE, repr(self.state) AssertionError: 0 Is this an issue I can resolve or an AppEngine thing? My code runs in a backend with python27 (threadsafe: false) Thanks, Prateek -- 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: Instance hours reduction strategies
I've set a the number of discounted instance hours, but there is no change in the billing screens, when does it kick in? Thanks Ron On Nov 11, 12:18 am, Gregory D'alesandre gr...@google.com wrote: We wrote an article to help with this:http://code.google.com/appengine/articles/managing-resources.html The main things to do are: - Figure out an appropriate value for Max Idle Instances - Use concurrent requests - Use discounted instance hours which are 37.5% cheaper but you need to pre-commit to a certain number per week Hope that helps! Greg On Thu, Nov 10, 2011 at 1:09 PM, Ron rc...@i-tao.com wrote: Has anyone got good tips for reducing the number of frontend instance hours? -- 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] Can I use set in Appengine?
Hi, I have a list of many elements and I want to delete the duplicates and sort it alphabetically. This is my code. set(tweetlist) tweetlist.sort() print tweetlist But set() is not working. Have I to do something different in appengine? Have I to import something? 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/-/Wlb4iP_syeAJ. 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: AssertionErrors from URLFetch RPCs
0Traceback (most recent call last): File /base/python27_runtime/ python27_lib/versions/third_party/webapp2-2.3/webapp2.py, line 1511, in __call__ rv = self.handle_exception(request, response, e) File /base/python27_runtime/python27_lib/versions/third_party/webapp2-2.3/ webapp2.py, line 1505, in __call__ rv = self.router.dispatch(request, response) File /base/python27_runtime/ python27_lib/versions/third_party/webapp2-2.3/webapp2.py, line 1253, in default_dispatcher return route.handler_adapter(request, response) File /base/python27_runtime/python27_lib/versions/ third_party/webapp2-2.3/webapp2.py, line 1077, in __call__ return handler.dispatch() File /base/python27_runtime/python27_lib/versions/ third_party/webapp2-2.3/webapp2.py, line 547, in dispatch return self.handle_exception(e, self.app.debug) File /base/python27_runtime/ python27_lib/versions/third_party/webapp2-2.3/webapp2.py, line 545, in dispatch return method(*args, **kwargs) File /base/ python27_runtime/python27_lib/versions/1/google/appengine/ext/deferred/ deferred.py, line 289, in post run(self.request.body) File /base/ python27_runtime/python27_lib/versions/1/google/appengine/ext/deferred/ deferred.py, line 131, in run return func(*args, **kwds) File / base/data/home/apps/s~referabuyer/aggregator.354671765578034008/ referabuyer/deferred.py, line 50, in downloadAllListingsBySeller to_put = saveItems(rpc, page, salt, name, downloadAllListingsBySeller, bulk_size, after) File /base/data/home/apps/s~referabuyer/aggregator. 354671765578034008/referabuyer/deferred.py, line 118, in saveItems result = rpc.get_result() File /base/python27_runtime/python27_lib/ versions/1/google/appengine/api/apiproxy_stub_map.py, line 589, in get_result self.check_success() File /base/python27_runtime/ python27_lib/versions/1/google/appengine/api/apiproxy_stub_map.py, line 556, in check_success self.wait() File /base/ python27_runtime/python27_lib/versions/1/google/appengine/api/ apiproxy_stub_map.py, line 530, in wait assert self.__rpc.state != apiproxy_rpc.RPC.IDLE, repr(self.state)AssertionError: 0 I was downloading from eBay's API. I set a couple pages to download and then start iterating through them to parse out. I defer tasks to a backend to download from eBay's API quickly. However, I should note that in this test there was only 1 task in queue and nothing else was going on. Thanks, Prateek On Nov 14, 8:29 am, Greg Darke (Google) darke+goo...@google.com wrote: Can you please add the full stack trace? And if it is repeatable either a code snippet or an explanation of what your program was doing when the exception occured. On 14 November 2011 18:29, someone1 someo...@gmail.com wrote: I am continunously getting the following error for a segment of code that has been working fine until just now: ... result = rpc.get_result() File /base/python27_runtime/python27_lib/versions/1/google/ appengine/api/apiproxy_stub_map.py, line 589, in get_result self.check_success() File /base/python27_runtime/python27_lib/versions/1/google/ appengine/api/apiproxy_stub_map.py, line 556, in check_success self.wait() File /base/python27_runtime/python27_lib/versions/1/google/ appengine/api/apiproxy_stub_map.py, line 530, in wait assert self.__rpc.state != apiproxy_rpc.RPC.IDLE, repr(self.state) AssertionError: 0 Is this an issue I can resolve or an AppEngine thing? My code runs in a backend with python27 (threadsafe: false) Thanks, Prateek -- 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.
[google-appengine] Re: AssertionErrors from URLFetch RPCs
Oh, I found out what went wrong. I had inadvertently deleted a line of code to kick of the download before I added the rpc object to my list of rpcs. Sorry for the confusion, must have been too tired to notice last night. Thanks, Prateek On Nov 14, 10:00 am, someone1 someo...@gmail.com wrote: 0Traceback (most recent call last): File /base/python27_runtime/ python27_lib/versions/third_party/webapp2-2.3/webapp2.py, line 1511, in __call__ rv = self.handle_exception(request, response, e) File /base/python27_runtime/python27_lib/versions/third_party/webapp2-2.3/ webapp2.py, line 1505, in __call__ rv = self.router.dispatch(request, response) File /base/python27_runtime/ python27_lib/versions/third_party/webapp2-2.3/webapp2.py, line 1253, in default_dispatcher return route.handler_adapter(request, response) File /base/python27_runtime/python27_lib/versions/ third_party/webapp2-2.3/webapp2.py, line 1077, in __call__ return handler.dispatch() File /base/python27_runtime/python27_lib/versions/ third_party/webapp2-2.3/webapp2.py, line 547, in dispatch return self.handle_exception(e, self.app.debug) File /base/python27_runtime/ python27_lib/versions/third_party/webapp2-2.3/webapp2.py, line 545, in dispatch return method(*args, **kwargs) File /base/ python27_runtime/python27_lib/versions/1/google/appengine/ext/deferred/ deferred.py, line 289, in post run(self.request.body) File /base/ python27_runtime/python27_lib/versions/1/google/appengine/ext/deferred/ deferred.py, line 131, in run return func(*args, **kwds) File / base/data/home/apps/s~referabuyer/aggregator.354671765578034008/ referabuyer/deferred.py, line 50, in downloadAllListingsBySeller to_put = saveItems(rpc, page, salt, name, downloadAllListingsBySeller, bulk_size, after) File /base/data/home/apps/s~referabuyer/aggregator. 354671765578034008/referabuyer/deferred.py, line 118, in saveItems result = rpc.get_result() File /base/python27_runtime/python27_lib/ versions/1/google/appengine/api/apiproxy_stub_map.py, line 589, in get_result self.check_success() File /base/python27_runtime/ python27_lib/versions/1/google/appengine/api/apiproxy_stub_map.py, line 556, in check_success self.wait() File /base/ python27_runtime/python27_lib/versions/1/google/appengine/api/ apiproxy_stub_map.py, line 530, in wait assert self.__rpc.state != apiproxy_rpc.RPC.IDLE, repr(self.state)AssertionError: 0 I was downloading from eBay's API. I set a couple pages to download and then start iterating through them to parse out. I defer tasks to a backend to download from eBay's API quickly. However, I should note that in this test there was only 1 task in queue and nothing else was going on. Thanks, Prateek On Nov 14, 8:29 am, Greg Darke (Google) darke+goo...@google.com wrote: Can you please add the full stack trace? And if it is repeatable either a code snippet or an explanation of what your program was doing when the exception occured. On 14 November 2011 18:29, someone1 someo...@gmail.com wrote: I am continunously getting the following error for a segment of code that has been working fine until just now: ... result = rpc.get_result() File /base/python27_runtime/python27_lib/versions/1/google/ appengine/api/apiproxy_stub_map.py, line 589, in get_result self.check_success() File /base/python27_runtime/python27_lib/versions/1/google/ appengine/api/apiproxy_stub_map.py, line 556, in check_success self.wait() File /base/python27_runtime/python27_lib/versions/1/google/ appengine/api/apiproxy_stub_map.py, line 530, in wait assert self.__rpc.state != apiproxy_rpc.RPC.IDLE, repr(self.state) AssertionError: 0 Is this an issue I can resolve or an AppEngine thing? My code runs in a backend with python27 (threadsafe: false) Thanks, Prateek -- 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.
[google-appengine] Re: Can I use set in Appengine?
Hi If your using Python 2.5 then you need to import the sets module. from sets import Set Set([1,2,1,2,4]) Set([1, 2, 4]) This code will also work in 2.7 Though in 2.7 you have the set type builtin. Rgds Tim -- 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/-/jbZddnsDuQgJ. 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: Yaml addressing and template with GAE is not working ?
Static files (mapped by the static handler) are not accessible from your application code. The static files are handled by different infrastructure. You will need to deploy a second copy one for your application code access and one for static handler. Its always been this way. Use a symlink in your project folder, rather than keeping two copies locally. 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/-/tkoAtyiPkakJ. 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: Can I use set in Appengine?
It's not working for me. The code: from sets import Set (..) Set(tweetlist) tweetlist.sort() print tweetlist The results: [u'1001storieRoma', u'3zoOozq8', u'6PierC9', u'ABelal10', u'ASRoma_1927', u'ASRoma_1927', u'ASRoma_1927', u'AcoSoegono', u'AdiCuur', u'AdistaAdinda', u'AleSCCP', u'Alpax93', u'AndreaGirvasi', u'AndreaGirvasi', u'AndreaLaureti', u'AngeloMarolla', u'AnnameryZA', u'Aquismaia21', u'Arianthorn', u'ArsAas', u'Assemotti', u'Baressobastia', u'Barz_O', u'Beamikyb', u'BhargaWisnawa', u'BoDherar', u'BonHakkinen', u'BrickView', u'Budicesc', u'BuonAndrew', u'Burziga', u'C4224', u'CalcioBlogLive', u'CalcioBlogLive', u'CamillaSpinelli', u'CarlaTrudu', u'ChenguGold', u'Cicciotosto', u'ClaudiaBorry', u'DanyRecchia', u'Darko_8_', u'Darko_8_', u'DaveSaveriano', u'Davide_Martelli', u'Davide_Martelli', u'Dborruto', u'DeadCatDeadRat', u'DemonBrando', u'DemonBrando', u'DiSalviaMichele', u'Di_Elle', u'Di_Elle', u'Di_Elle', u'Di_Elle', u'Di_Elle', u'Di_Elle', u'Di_Elle', u'Di_Elle', u'Di_Elle', u'Di_Elle', u'Di_Elle', u'Di_Elle', u'Di_Elle', u'DianaDionisioG', u'DjSekou', u'EmDeFra', u'EmanueleMelfi', u'Er_capo5', u'ErikCocoTomo', u'Erik_lamela_', u'FeDeShh', u'FedeFede_', u'FedericaLago', u'Ferdinando_R', u'Filver93', u'FiqiAinur', u'Fra__Asr', u'Francesca_LG', u'Frau87', u'Frau87', u'Frau87', u'Frau87', u'FunkyKovael', u'GIOVANNI_N0', u'Gabriella_Guida', u'Giaima', u'Giugia89', u'Giulia_B34', u'Giulia__asr', u'Giulia__asr', u'Giuseppecaboni', u'GregMY', u'GretaFaccani', u'Gsateeh', u'Hamod_D', u'Hellii4', u'HudsonKnedyGirl', u'Ilya_Kam', u'Irishtotti', u'Itz_Simple', u'Itz_Simple', u'J_Stonebraker', u'J_Stonebraker', u'Jack_Bauer1978', u'Jack_Bauer1978', u'JuJuAlmal', u'JuJuAlmal', u'JuJuAlmal', u'Kayingi', u'LAROMA24', u'LAROMA24', u'LAROMA24', u'LAROMA24', u'LAROMA24', u'LUTP', u'LUTP', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi', u'LaRomaSiamoNoi',
[google-appengine] Ancestor queries / indexes
My data currently on MS is organized into entities. - For example, let's say that each Organization is it's own entity group. Most of my queries are within an entity/organization. An example of a typical query is: - Employee.all().filter('organization =', org).filter('position =', manager).fetch(1000) This same query can also be done using an ancestor query: - Employee.all().ancestor(org_key).filter('position =', manager).fetch(1000) The first version of the query does not require a custom index, but the second version does. My questions: 1. Will moving from the first version to the the second version of the query require adding custom indexes? Or am I missing something? 2. Clarification on Strong Consistency in HR: Is it necessary to use the ancestor() operator, or is simply querying within an entity group strongly consistent? My assumption has been that for queries that must be strongly consistent, it will be necessary to migrate from the first format to the second format (increasing the number of custom indexes I need to carry). Is this assumption correct? -- 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: Help resolve massive performance regression in 2.7 vs 2.5 runtime
Hi Brian, So on December 1st, the 50% discount for front-instances is gone. The idea is to compensate by switching to Python 2.7 with multithreading, but it looks like at this point it's a lose-lose situation: it runs more requests at the same time, but they take longer. We're mid- November already, do you guys think you'll have all of this working perfectly within 2 weeks? No, the issues with concurrent requests won't be fixed by the end of November. But note that concurrent requests will *not* improve the utilization of CPU-bound requests. Running multiple threads on the same CPU just proportionally slows each thread down. That doesn't make sense: apps do a mix of CPU stuff and RPC stuff (and possibly URL requests). What's the points of concurrent requests if it slows down the CPU stuff while allowing to parallelize your RPC calls? The end result will be the same number of instance as requests end up taking longer. Isn't the scheduler supposed to watch all this and ensure the CPU on each physical machine is not saturated? Only apps that do long poll URL requests and barely use the CPU would benefit of concurrent requests then. We were told: don't worry so much about hours-based pricing, just wait for 2.7 runtime, it'll have concurrent requests, it'll compensate things. Clearly that doesn't work as promised if just turning threadsafe ON makes a 2 seconds requests turn into a 30-60 seconds one: the scheduler is not doing the right thing. It seems what you need is a per WSGIApplication instance control of the concurrent setting instead of global one, so you can turn it on only where it makes sense. Finally, no matter what, concurrent or not, there's still a problem as 2.7 runtime appears slower than 2.5 in this simple empirical test. I'm starting to suspect you are using the 2.7 transition as a opportunity to run more virtual instances per physical machine. - Pierre -- 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: BlobStoreService.createUploadUrl(String url) problem
Just wanted to say that I also have this problem. I'm using the workaround as described in the stackoverflow solution, but it would be nice to know why this is happening. More people must be having this problem, surely? Drew -- 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/-/l3VX3JzgjxcJ. 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] XMPP getPresence() deprecated in 1.5.5... aaaaargh!
I see XMPP getPresence() has been deprecated in favor of unnecessarily complicated (for the task of checking presence) XMPP postbacks... so now I have to build a little subsystem to track and maintain user state, when state could be detected with 1 simple call in earlier GAE versions. I don't want to catch and inspect every XMPP state change from all users - that is a waste of billable resources. All I want is to check, when necessary, that the user is present or not. What was wrong with the code below? How about keeping it simple... as with previous versions? if (xmpp.getPresence(jid).isAvailable()) { // do stuff } Working around the limitations of GAE is becoming increasingly frustrating. Call me cynical, but all this deprecation does is increase billable usage and create unnecessary code. -- 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] copying data from appengine datastore admin to my dev server. failed with status 401
It's probably worth adding one more detail. I can't access the Datastore Admin when I'm logged in with app's owner account (I think this is a known bug). I can only access the admin page from another developer account. That may be contributing to the access problem. Thoughts? -- 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/-/gZzBV_kvEWUJ. 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: Help resolve massive performance regression in 2.7 vs 2.5 runtime
Hi Pierre, On Tue, Nov 15, 2011 at 3:19 AM, Pol p...@everpix.net wrote: Hi Brian, So on December 1st, the 50% discount for front-instances is gone. The idea is to compensate by switching to Python 2.7 with multithreading, but it looks like at this point it's a lose-lose situation: it runs more requests at the same time, but they take longer. We're mid- November already, do you guys think you'll have all of this working perfectly within 2 weeks? No, the issues with concurrent requests won't be fixed by the end of November. But note that concurrent requests will *not* improve the utilization of CPU-bound requests. Running multiple threads on the same CPU just proportionally slows each thread down. That doesn't make sense: apps do a mix of CPU stuff and RPC stuff (and possibly URL requests). What's the points of concurrent requests if it slows down the CPU stuff while allowing to parallelize your RPC calls? This pattern (a mix of CPU use and RPC calls) will benefit from concurrent requests. I was writing about what I understood to be your login example. Presumably it does a single datastore read to access user information (taking 40ms of so) and then spends 1 seconds doing cryptography. The end result will be the same number of instance as requests end up taking longer. Isn't the scheduler supposed to watch all this and ensure the CPU on each physical machine is not saturated? Only apps that do long poll URL requests and barely use the CPU would benefit of concurrent requests then. We were told: don't worry so much about hours-based pricing, just wait for 2.7 runtime, it'll have concurrent requests, it'll compensate things. Clearly that doesn't work as promised if just turning threadsafe ON makes a 2 seconds requests turn into a 30-60 seconds one: the scheduler is not doing the right thing. Yes, these large latency increases are a bug: http://code.google.com/p/googleappengine/issues/detail?id=6323 It seems what you need is a per WSGIApplication instance control of the concurrent setting instead of global one, so you can turn it on only where it makes sense. Finally, no matter what, concurrent or not, there's still a problem as 2.7 runtime appears slower than 2.5 in this simple empirical test. I'm starting to suspect you are using the 2.7 transition as a opportunity to run more virtual instances per physical machine. That's not the case. The Python 2.7 runtime is slower than the Python 2.5 runtime in some cases and faster in others. We aren't publicizing the reasons why at this point. Cheers, Brian - Pierre -- 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: Since Monday, these simple SQL operations translate to expensive DataStore operations, why?
Hi, You should use sharded counter rather then count() function. count() simply traverses all entities of the kind until reaches the last, so scales linearly with you data size. I suppose you entities count simply raised much since Monday, so you have noticed that. datastore is different... -- 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/-/IYxaLQwJMjcJ. 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] copying data from appengine datastore admin to my dev server. failed with status 401
I found the issue I had been prefixing my app ID in the appengine_config.py file with 's~', which is the norm for bulkloader operations even though it isn't documented. It looks like that prefix isn't required in this case. -- 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/-/9BEc539DTIsJ. 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: Datastore operations are seriously expensive
On Mon, Nov 14, 2011 at 4:27 AM, Volker Thiel v.th...@kosatec.de wrote: If you're churning through your datastore ops because you have 100 indexes, you would have churned through your CPU quota before. The problem is you're trying to update too many indexes. The only solution is don't. Not true. I had an application that I optimized in CPU usage and it was well below the limits every day. I only had two entities with a few indexes each (three and four respectively). The latter is updated frequently (several times a day). I (currently) have about 4000 entities which required approximately 20 write operations on each update. This was no problem under the old billing model! I threw out some of the indexes but on the cost of usability. Now I'm down to 8 write ops for a new entity and 6 for an update. I got those figures from the dev environment, but what I'd really like to see is read and write ops in the production logs, since the new billing isn't focused around CPU cycles anymore. My two cents. I don't mean to argue that the price hasn't gone up... just that it bills more or less the same way as before (which hid datastore ops in api_cpu_ms). They just tripled (or more) the price for these ops. Sounds like your app is in the margin of what was cheap before and expensive now. Read and write ops in the production logs would be rad. Is there an issue I can star? Jeff -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
[google-appengine] I can't disable the billing on my application
Hello, I have a test application (I am the billing administrator on this app) and I want to disable billing but the Disable Billing button does not appear in the Billing Settings page. Is it normal? How can I disable the billing on this application ? Thanks. Regards, Alexandre Vivien -- 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: Can I use set in Appengine?
http://shell.appspot.com/ set([1,2,3,4,5,1,2]) set([1, 2, 3, 4, 5]) -- 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: Yaml addressing and template with GAE is not working ?
On Mon, Nov 14, 2011 at 10:56 AM, Tim Hoffman zutes...@gmail.com wrote: Static files (mapped by the static handler) are not accessible from your application code. The static files are handled by different infrastructure. You will need to deploy a second copy one for your application code access and one for static handler. Its always been this way. Use a symlink in your project folder, rather than keeping two copies locally. 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/-/tkoAtyiPkakJ. 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] Since Monday, these simple SQL operations translate to expensive DataStore operations, why?
On Tue, Nov 8, 2011 at 4:37 PM, Alberto Valaz alberto.va...@gmail.comwrote: I noticed that a number of simple SQL operations that my application is dependent on generate very high quota usage. Basically, one run of the three operations listed below are enough to use up my daily free quota!! I assume I am doing something very wrong but I am not sure how to fix it. Could anyone please give me thank you PS. an interesting twist is that the below code worked just fine under the old payment model. - // The table Something below has around 50k rows. No indexes are used. PersistenceManager pm = ... // Select COUNT(*) from Something Query q = pm.newQuery(Something.Class, null); q.setResult(count(this)); q.execute(); // select COUNT(*) from Something where 1234 feild Query q = pm.newQuery(Something.Class, this.field field); q.declareParameters(Long field); q.setResult(count(this)); q.executeWithArray(1234); // select * from Something order total DESC Query q = pm.newQuery(Something.Class, null); q.setOrdering(total DESC); q.execute(); -- 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: Can I use set in Appengine?
From http://docs.python.org/library/stdtypes.html#set-types-set-frozenset: A set object is an unordered collection You can use set() to filter out duplicates. But then you need to convert back to a list to be able to sort: result = sorted(list(set(tweetlist))) On Mon, Nov 14, 2011 at 2:22 PM, pdknsk pdk...@googlemail.com wrote: http://shell.appspot.com/ set([1,2,3,4,5,1,2]) set([1, 2, 3, 4, 5]) -- 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: KeyProperty and repeated=True
Ok, I think I see where the disconnect is. KeyProperty only accepts instances of model.Key (which is fair). If I want to limit my property on my model to only accept certain kinds of keys, I should enforce this requirement through a validator. Unless there's a better way, I think I'm all set! Regards, Owen Nelson -- 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/-/jogNlz1nljgJ. 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: Can I use set in Appengine?
To improve my previous post: no need to use list(). You can do sorted(set(tweetlist)). On Mon, Nov 14, 2011 at 2:29 PM, Matt Jibson matt.jib...@gmail.com wrote: From http://docs.python.org/library/stdtypes.html#set-types-set-frozenset: A set object is an unordered collection You can use set() to filter out duplicates. But then you need to convert back to a list to be able to sort: result = sorted(list(set(tweetlist))) On Mon, Nov 14, 2011 at 2:22 PM, pdknsk pdk...@googlemail.com wrote: http://shell.appspot.com/ set([1,2,3,4,5,1,2]) set([1, 2, 3, 4, 5]) -- 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] I can't disable the billing on my application
Make sure you don't have always on set. And that you aren't over free quota on storage. -Original Message- From: google-appengine@googlegroups.com [mailto:google-appengine@googlegroups.com] On Behalf Of Alexandre Vivien Sent: Monday, November 14, 2011 1:14 PM To: Google App Engine Subject: [google-appengine] I can't disable the billing on my application Hello, I have a test application (I am the billing administrator on this app) and I want to disable billing but the Disable Billing button does not appear in the Billing Settings page. Is it normal? How can I disable the billing on this application ? Thanks. Regards, Alexandre Vivien -- 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: Help resolve massive performance regression in 2.7 vs 2.5 runtime
Half sized instances, so they may be half speed. -Original Message- From: google-appengine@googlegroups.com [mailto:google-appengine@googlegroups.com] On Behalf Of Pol Sent: Sunday, November 13, 2011 9:32 AM To: Google App Engine Subject: [google-appengine] Re: Help resolve massive performance regression in 2.7 vs 2.5 runtime Hi Brian, It helps, it's now at ~5s instead, but still at least 2x slower than on the 2.5 runtime. So on December 1st, the 50% discount for front-instances is gone. The idea is to compensate by switching to Python 2.7 with multithreading, but it looks like at this point it's a lose-lose situation: it runs more requests at the same time, but they take longer. We're mid- November already, do you guys think you'll have all of this working perfectly within 2 weeks? The 1.6 SDK which actually allows to run 2.7 locally was just released, so we're only starting to test now. Seems to me deferring the payment change 1 more month to January 1st 2012 wouldn't hurt :) On Nov 12, 10:09 pm, Brian Quinlan bquin...@google.com wrote: Hi Pol, Thanks for getting back to me. On Sun, Nov 13, 2011 at 4:50 PM, Pol p...@everpix.net wrote: Hi Brian, threadsafe is true There is a known issue where concurrent requests (enabled with threadsafe) can be much slower than non-concurrent requests, especially if the request is CPU-bound. You might want to set threadsafe to false and see if that fixes the problem. Cheers, Brian Here's an example password_hash for an original 8 characters password: $2a$04$cbM2uHwDphIG3jFFRpq1mui5aVjevnDUwhvQ77S/WG/qvJMpiXAL6 On Nov 12, 6:58 pm, Brian Quinlan bquin...@google.com wrote: Hi Pol, On Sun, Nov 13, 2011 at 1:48 PM, Pol p...@everpix.net wrote: Hi, Since switching to 2.7 runtime, logging in tohttp://www.everpix.com went from about a second to anywhere from 15s to 60s. I tracked it down to this single password checking line: from bcrypt import bcrypt bcrypt.hashpw(password, self.password_hash) == self.password_hash What value are you using for threadsafe in your app.yaml? How large is self.password_hash? Cheers, Brian This comes from a native Python implementation of the py-bcrypt package fromhttp://www.mindrot.org/projects/py-bcrypt/; grabbed from here:https://github.com/erlichmen/py-bcrypt. So what's happening here and how can we fix this? Thanks, - Pol -- 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 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] URGENT: google checkout for usage i dont know where it comes from.
dear google, in the last few weeks you charged me for google app engine usage i don't actually know where its coming from. i dont know which app is consuming this money and i actually think i don't have any app shows usage for this amount. please contact me asap to clear this situation!! Google order number: 363075622065800 thx -- 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: URGENT: google checkout for usage i dont know where it comes from.
and seriously... start adding an appid to the charges you send! its not acceptable that i cant figure out why i get charged for money. thx On Nov 14, 2011, at 4:09 PM, andreas schmid wrote: dear google, in the last few weeks you charged me for google app engine usage i don't actually know where its coming from. i dont know which app is consuming this money and i actually think i don't have any app shows usage for this amount. please contact me asap to clear this situation!! Google order number: 363075622065800 thx -- 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: I can't disable the billing on my application
I'm under free quota for storage and always on is not set. If it helps I can give my app id. Regards, Alexandre On Nov 14, 11:06 pm, Brandon Wirtz drak...@digerat.com wrote: Make sure you don't have always on set. And that you aren't over free quota on storage. -Original Message- From: google-appengine@googlegroups.com [mailto:google-appengine@googlegroups.com] On Behalf Of Alexandre Vivien Sent: Monday, November 14, 2011 1:14 PM To: Google App Engine Subject: [google-appengine] I can't disable the billing on my application Hello, I have a test application (I am the billing administrator on this app) and I want to disable billing but the Disable Billing button does not appear in the Billing Settings page. Is it normal? How can I disable the billing on this application ? Thanks. Regards, Alexandre Vivien -- 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.
[google-appengine] Question about Write Ops cost for updating an entity with changed properties
Alfred wrote an excellent explanation of how write ops are charged ( http://groups.google.com/group/google-appengine/msg/ca47eb7678d50372? ). My question is how does the the datastore determine whether a property has actually changed - does it compare the new value to the saved value or does the python db.Model class mark a property as changed every time it's assigned (even if the values are the same). -- 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: URGENT: google checkout for usage i dont know where it comes from.
hey david, are you working for google or did you just answer me bc u saw my post and responded me privately instead of answering to the list?? if i set up a 2.10 amount it was for a max spend and never for a min spend!! i use this app for testing some stuff sometimes and i really don't see where it should charge me $2.10! On Nov 14, 2011, at 4:47 PM, David wrote: If you enable billing, you have a minimum spend of 2.1$/week! Am Montag, 14. November 2011 23:40:38 UTC+1 schrieb aschmid: really dont get it. where do the $ 2.10 come from? On Nov 14, 2011, at 4:09 PM, andreas schmid wrote: dear google, in the last few weeks you charged me for google app engine usage i don't actually know where its coming from. i dont know which app is consuming this money and i actually think i don't have any app shows usage for this amount. please contact me asap to clear this situation!! Google order number: 363075622065800 thx -- 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: URGENT: google checkout for usage i dont know where it comes from.
Hi Andreas, If you have billing enabled App Engine will now charge you $2.10/week as a minimum spend. Above $2.10 we will charge you for what you use. If you don't need to go beyond the free quota, it might make more sense to disable billing on your application. More information can be found here: http://code.google.com/appengine/kb/billing.html#nine_dollar_month_fee_minimum_spend Greg D'Alesandre Senior Product Manager, Google App Engine On Mon, Nov 14, 2011 at 2:53 PM, andreas schmid a.schmi...@gmail.comwrote: hey david, are you working for google or did you just answer me bc u saw my post and responded me privately instead of answering to the list?? if i set up a 2.10 amount it was for a max spend and never for a min spend!! i use this app for testing some stuff sometimes and i really don't see where it should charge me $2.10! On Nov 14, 2011, at 4:47 PM, David wrote: If you enable billing, you have a minimum spend of 2.1$/week! Am Montag, 14. November 2011 23:40:38 UTC+1 schrieb aschmid: really dont get it. where do the $ 2.10 come from? On Nov 14, 2011, at 4:09 PM, andreas schmid wrote: dear google, in the last few weeks you charged me for google app engine usage i don't actually know where its coming from. i dont know which app is consuming this money and i actually think i don't have any app shows usage for this amount. please contact me asap to clear this situation!! Google order number: *363075622065800* thx -- 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: URGENT: google checkout for usage i dont know where it comes from.
i figured that out right now. anyway i enabled billing time ago for this appid bc i needed the blobstore. now the blobstore does not need the billing enabled anymore and this app was a 'forgotten' one of mine. i actually really think its uncool from your side to charge for this app. and you should start adding an appid to the google checkout receipt bc there is no way to understand what you are charging for. thx for the reply. On Nov 14, 2011, at 5:07 PM, Gregory D'alesandre wrote: Hi Andreas, If you have billing enabled App Engine will now charge you $2.10/week as a minimum spend. Above $2.10 we will charge you for what you use. If you don't need to go beyond the free quota, it might make more sense to disable billing on your application. More information can be found here: http://code.google.com/appengine/kb/billing.html#nine_dollar_month_fee_minimum_spend Greg D'Alesandre Senior Product Manager, Google App Engine On Mon, Nov 14, 2011 at 2:53 PM, andreas schmid a.schmi...@gmail.com wrote: hey david, are you working for google or did you just answer me bc u saw my post and responded me privately instead of answering to the list?? if i set up a 2.10 amount it was for a max spend and never for a min spend!! i use this app for testing some stuff sometimes and i really don't see where it should charge me $2.10! On Nov 14, 2011, at 4:47 PM, David wrote: If you enable billing, you have a minimum spend of 2.1$/week! Am Montag, 14. November 2011 23:40:38 UTC+1 schrieb aschmid: really dont get it. where do the $ 2.10 come from? On Nov 14, 2011, at 4:09 PM, andreas schmid wrote: dear google, in the last few weeks you charged me for google app engine usage i don't actually know where its coming from. i dont know which app is consuming this money and i actually think i don't have any app shows usage for this amount. please contact me asap to clear this situation!! Google order number: 363075622065800 thx -- 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: URGENT: google checkout for usage i dont know where it comes from.
Thanks for the feedback, we are currently looking into adding the appid into the receipt. Greg On Mon, Nov 14, 2011 at 3:24 PM, andreas schmid a.schmi...@gmail.comwrote: i figured that out right now. anyway i enabled billing time ago for this appid bc i needed the blobstore. now the blobstore does not need the billing enabled anymore and this app was a 'forgotten' one of mine. i actually really think its uncool from your side to charge for this app. and you should start adding an appid to the google checkout receipt bc there is no way to understand what you are charging for. thx for the reply. On Nov 14, 2011, at 5:07 PM, Gregory D'alesandre wrote: Hi Andreas, If you have billing enabled App Engine will now charge you $2.10/week as a minimum spend. Above $2.10 we will charge you for what you use. If you don't need to go beyond the free quota, it might make more sense to disable billing on your application. More information can be found here: http://code.google.com/appengine/kb/billing.html#nine_dollar_month_fee_minimum_spend Greg D'Alesandre Senior Product Manager, Google App Engine On Mon, Nov 14, 2011 at 2:53 PM, andreas schmid a.schmi...@gmail.comwrote: hey david, are you working for google or did you just answer me bc u saw my post and responded me privately instead of answering to the list?? if i set up a 2.10 amount it was for a max spend and never for a min spend!! i use this app for testing some stuff sometimes and i really don't see where it should charge me $2.10! On Nov 14, 2011, at 4:47 PM, David wrote: If you enable billing, you have a minimum spend of 2.1$/week! Am Montag, 14. November 2011 23:40:38 UTC+1 schrieb aschmid: really dont get it. where do the $ 2.10 come from? On Nov 14, 2011, at 4:09 PM, andreas schmid wrote: dear google, in the last few weeks you charged me for google app engine usage i don't actually know where its coming from. i dont know which app is consuming this money and i actually think i don't have any app shows usage for this amount. please contact me asap to clear this situation!! Google order number: *363075622065800* thx -- 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. -- 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] We're down hard because the payments system is failing! HELP!
I just checked on your app and it looks okay to me. For anyone else having issues with this, the best place to get help is to email the address provided in the mass email that's also available on the billing history page. It should be appengine_update_pricing at google. We're working through this queue as quickly as we can to help folks transition to the new billing. -- Ikai Lan Developer Programs Engineer, Google App Engine plus.ikailan.com | twitter.com/ikai On Tue, Nov 15, 2011 at 9:40 AM, Mike Prince m...@mikeprince.com wrote: For the app yumyumlabs, we ran an entity delete process on 4m records and it ended up eating $40 of our budget in a few minutes (36M database writes!) When we tried to increase our budget the payments system is failing with: Hello michael prince, Google Services has cancelled your order. You have not been charged. Reason: Other (describe below) Comments from Google Services: This inactive subscription has been canceled Order date: Nov 14, 2011 1:39 PM PST Google order number: 810629956315305 Shipping Status QtyItem Price Cancelled Items1 App Engine Budget - Maximum weekly budget for application 'yumyumlabs', including applicable tax. $0.00 Tax (CA) : $0.00 Total : $0.00 now $740.00 per week Order cancelled - Your card was not charged Now all our requests are failing and the billing system keeps rejecting our payments! This system supports a featured app on android with up to 30k new users a day. This is bad. HELP! Thanks, Mike -- 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] Question about Write Ops cost for updating an entity with changed properties
Hi Alex, The datastore compares old values to new; there's no way for the SDK to mark properties as modified or not. -Nick Johnson On Tue, Nov 15, 2011 at 9:49 AM, Alex Epshteyn alexander.epsht...@gmail.com wrote: Alfred wrote an excellent explanation of how write ops are charged ( http://groups.google.com/group/google-appengine/msg/ca47eb7678d50372? ). My question is how does the the datastore determine whether a property has actually changed - does it compare the new value to the saved value or does the python db.Model class mark a property as changed every time it's assigned (even if the values are the same). -- 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] App Engine Task Queue Stored Task Bytes
Ever since the billing change, my Task Queue Stored Task bytes sits around 16% when idle. I have 500 megs allocated, and 16% of this is always used up. The problem is that it's starting to go into the red when my cron jobs are running and detracting from my safety margin. Can you guys please take a look at app ID highvolumeseller Thanks, John -- 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_pIQCNOkZMJ. 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] Help resolve massive performance regression in 2.7 vs 2.5 runtime
No! Please, please don't do this. Obscurity is no substitute for security. 1) Bcrypt or similar is not 'overkill' no matter who you are. Users reuse passwords, and they're entitled to the best protection you can reasonably provide them. 2) Bcrypt is not there to protect against online attacks, it's there to protect against offline attacks, where an attacker obtains your hashed and salted passwords. 3) Doing something weird is security through obscurity. Do not base your security on your attacker not knowing what you did. Really, really don't just concatenate salts to the beginning or end of the password. 4) Both MD5 and SHA1 are merkle-damgard construction hashes ( http://en.wikipedia.org/wiki/Merkle%E2%80%93Damg%C3%A5rd_construction). As a result, the concatenation of several hashes is no more secure than the most secure of the individual hashes. -Nick Johnson On Sun, Nov 13, 2011 at 2:58 PM, Brandon Wirtz drak...@digerat.com wrote: Unless you are protecting Medical records bcrypt is overkill if you do some reasonably smart things like Failed logins from IP 9 Or, if you just do something weird to the password BEFORE you SHA it. Like interleave the user name in the password, Salt1 + UpSaEsRsNwAoMrEd + Salt2 Or Pick 2 Hash's SHA(pass) + Md5(pass) Don't want to store all that string length? Odd Characters from Sha(Pass+salt) + Even Characters from MD5(Pass+Salt) Uniqueness of the method is more important than the method. -Original Message- From: google-appengine@googlegroups.com [mailto:google-appengine@googlegroups.com] On Behalf Of Brian Quinlan Sent: Saturday, November 12, 2011 6:58 PM To: google-appengine@googlegroups.com Subject: Re: [google-appengine] Help resolve massive performance regression in 2.7 vs 2.5 runtime Hi Pol, On Sun, Nov 13, 2011 at 1:48 PM, Pol p...@everpix.net wrote: Hi, Since switching to 2.7 runtime, logging in to http://www.everpix.com went from about a second to anywhere from 15s to 60s. I tracked it down to this single password checking line: from bcrypt import bcrypt bcrypt.hashpw(password, self.password_hash) == self.password_hash What value are you using for threadsafe in your app.yaml? How large is self.password_hash? Cheers, Brian This comes from a native Python implementation of the py-bcrypt package from http://www.mindrot.org/projects/py-bcrypt/; grabbed from here: https://github.com/erlichmen/py-bcrypt. So what's happening here and how can we fix this? Thanks, - Pol -- 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. -- 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: Can I use set in Appengine?
You don't need to import Sets in Python 2.5. -Nick On Tue, Nov 15, 2011 at 2:51 AM, Tim Hoffman zutes...@gmail.com wrote: Hi If your using Python 2.5 then you need to import the sets module. from sets import Set Set([1,2,1,2,4]) Set([1, 2, 4]) This code will also work in 2.7 Though in 2.7 you have the set type builtin. Rgds Tim -- 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/-/jbZddnsDuQgJ. 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: AppStats in Python 2.7 apps
I am using appstats just by editing the appengine_config.py and adding the builtins appstats: on, I am using webpp and django without problems. seems to be working fine. -- 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/-/voffpdjivHIJ. 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] Who can I contact about billing issues?
Today I received a charge of 2.10 in my credit card of Appengine Charge. I was looking my apps, and in one of them I have in my Billing History a charge of 2.10, the trouble is.. that my app is DISABLED!!! How can you charge me for having a disabled app? Is this possible? -- 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/-/FowrMwQ44tQJ. 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] Help resolve massive performance regression in 2.7 vs 2.5 runtime
If I know your salt, I can De-Hash bcrypts faster than I can any of the weird combinations. Because there are libraries for doing so on ATI cards. If you do something weird a script kiddie can't just pull code off the web and attack it. You want to see who can offline crack a set of 1M users? Your bcrypt list vs my Weird You don't even have to give me the salt I'll have 10k of those cracked in the first 72 hours. 10 to 1 odds you won't get through mine without my source code in my life time. -Brandon Wirtz PS I don't usually do the trust me I'm far more evil but FBI, Homeland Security, and the CIA have been to my doorstep for things I have defeated, documented, or built to keep from being defeated. The first time I was in 3rd grade. From: google-appengine@googlegroups.com [mailto:google-appengine@googlegroups.com] On Behalf Of Nick Johnson Sent: Monday, November 14, 2011 3:56 PM To: google-appengine@googlegroups.com Subject: Re: [google-appengine] Help resolve massive performance regression in 2.7 vs 2.5 runtime No! Please, please don't do this. Obscurity is no substitute for security. 1) Bcrypt or similar is not 'overkill' no matter who you are. Users reuse passwords, and they're entitled to the best protection you can reasonably provide them. 2) Bcrypt is not there to protect against online attacks, it's there to protect against offline attacks, where an attacker obtains your hashed and salted passwords. 3) Doing something weird is security through obscurity. Do not base your security on your attacker not knowing what you did. Really, really don't just concatenate salts to the beginning or end of the password. 4) Both MD5 and SHA1 are merkle-damgard construction hashes (http://en.wikipedia.org/wiki/Merkle%E2%80%93Damg%C3%A5rd_construction). As a result, the concatenation of several hashes is no more secure than the most secure of the individual hashes. -Nick Johnson On Sun, Nov 13, 2011 at 2:58 PM, Brandon Wirtz drak...@digerat.com wrote: Unless you are protecting Medical records bcrypt is overkill if you do some reasonably smart things like Failed logins from IP 9 Or, if you just do something weird to the password BEFORE you SHA it. Like interleave the user name in the password, Salt1 + UpSaEsRsNwAoMrEd + Salt2 Or Pick 2 Hash's SHA(pass) + Md5(pass) Don't want to store all that string length? Odd Characters from Sha(Pass+salt) + Even Characters from MD5(Pass+Salt) Uniqueness of the method is more important than the method. -Original Message- From: google-appengine@googlegroups.com [mailto:google-appengine@googlegroups.com] On Behalf Of Brian Quinlan Sent: Saturday, November 12, 2011 6:58 PM To: google-appengine@googlegroups.com Subject: Re: [google-appengine] Help resolve massive performance regression in 2.7 vs 2.5 runtime Hi Pol, On Sun, Nov 13, 2011 at 1:48 PM, Pol p...@everpix.net wrote: Hi, Since switching to 2.7 runtime, logging in to http://www.everpix.com went from about a second to anywhere from 15s to 60s. I tracked it down to this single password checking line: from bcrypt import bcrypt bcrypt.hashpw(password, self.password_hash) == self.password_hash What value are you using for threadsafe in your app.yaml? How large is self.password_hash? Cheers, Brian This comes from a native Python implementation of the py-bcrypt package from http://www.mindrot.org/projects/py-bcrypt/; grabbed from here: https://github.com/erlichmen/py-bcrypt. So what's happening here and how can we fix this? Thanks, - Pol -- 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 mailto:google-appengine%2bunsubscr...@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 mailto:google-appengine%2bunsubscr...@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 mailto:google-appengine%2bunsubscr...@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
[google-appengine] Re: What happened to the promised reliability improvement for email delivery?
As we've discussed on the bug report, DKIM could literally be a one line bug fix. -- 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] Who can I contact about billing issues?
Hi Nacho, As it currently stands you need to disable billing in order to no longer be billed for your app (not to disable your app). The reason for this is that even if your app is disabled if you have a large amount of data and we would still need to bill for that. This is something we will do a better job of documenting. Sorry for the confusion, Greg D'Alesandre Senior Product Manager, Google App Engine On Mon, Nov 14, 2011 at 6:04 PM, nacho vela.igna...@gmail.com wrote: Today I received a charge of 2.10 in my credit card of Appengine Charge. I was looking my apps, and in one of them I have in my Billing History a charge of 2.10, the trouble is.. that my app is DISABLED!!! How can you charge me for having a disabled app? Is this possible? -- 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/-/FowrMwQ44tQJ. 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] Help resolve massive performance regression in 2.7 vs 2.5 runtime
Hi Brandon, What you say is fine if your threat model only includes script kiddies who don't have your source code. If either of those is not true - you have an adversary with some level of independent skill, or your source code is compromised - any method that relies on obscurity for its security will fare very poorly. One thing to bear in mind is that if your app is ever compromised, your password database and/or source may be posted publicly; at that point, you no longer have to worry about just the initial attacker, but anyone with sufficient motivation. Of course, using federated login like OpenID or the Users API obviates the need to store passwords at all, making it Someone Else's Problem. :) -Nick On Tue, Nov 15, 2011 at 1:07 PM, Brandon Wirtz drak...@digerat.com wrote: If I know your salt, I can “De-Hash” bcrypts faster than I can any of the “weird” combinations. Because there are libraries for doing so on ATI cards. ** ** If you do something weird a script kiddie can’t just pull code off the web and attack it. ** ** You want to see who can offline crack a set of 1M users? Your bcrypt list vs my “Weird” You don’t even have to give me the salt I’ll have 10k of those cracked in the first 72 hours. 10 to 1 odds you won’t get through mine without my source code in my life time. ** ** -Brandon Wirtz ** ** PS I don’t usually do the “trust me I’m far more evil” but FBI, Homeland Security, and the CIA have been to my doorstep for things I have defeated, documented, or built to keep from being defeated. The first time I was in 3 rd grade. ** ** *From:* google-appengine@googlegroups.com [mailto: google-appengine@googlegroups.com] *On Behalf Of *Nick Johnson *Sent:* Monday, November 14, 2011 3:56 PM *To:* google-appengine@googlegroups.com *Subject:* Re: [google-appengine] Help resolve massive performance regression in 2.7 vs 2.5 runtime ** ** No! Please, please don't do this. Obscurity is no substitute for security. ** ** 1) Bcrypt or similar is not 'overkill' no matter who you are. Users reuse passwords, and they're entitled to the best protection you can reasonably provide them. 2) Bcrypt is not there to protect against online attacks, it's there to protect against offline attacks, where an attacker obtains your hashed and salted passwords. 3) Doing something weird is security through obscurity. Do not base your security on your attacker not knowing what you did. Really, really don't just concatenate salts to the beginning or end of the password. 4) Both MD5 and SHA1 are merkle-damgard construction hashes ( http://en.wikipedia.org/wiki/Merkle%E2%80%93Damg%C3%A5rd_construction). As a result, the concatenation of several hashes is no more secure than the most secure of the individual hashes. ** ** -Nick Johnson ** ** On Sun, Nov 13, 2011 at 2:58 PM, Brandon Wirtz drak...@digerat.com wrote: Unless you are protecting Medical records bcrypt is overkill if you do some reasonably smart things like Failed logins from IP 9 Or, if you just do something weird to the password BEFORE you SHA it. Like interleave the user name in the password, Salt1 + UpSaEsRsNwAoMrEd + Salt2 Or Pick 2 Hash's SHA(pass) + Md5(pass) Don't want to store all that string length? Odd Characters from Sha(Pass+salt) + Even Characters from MD5(Pass+Salt) Uniqueness of the method is more important than the method. -Original Message- From: google-appengine@googlegroups.com [mailto:google-appengine@googlegroups.com] On Behalf Of Brian Quinlan Sent: Saturday, November 12, 2011 6:58 PM To: google-appengine@googlegroups.com Subject: Re: [google-appengine] Help resolve massive performance regression in 2.7 vs 2.5 runtime Hi Pol, On Sun, Nov 13, 2011 at 1:48 PM, Pol p...@everpix.net wrote: Hi, Since switching to 2.7 runtime, logging in to http://www.everpix.com went from about a second to anywhere from 15s to 60s. I tracked it down to this single password checking line: from bcrypt import bcrypt bcrypt.hashpw(password, self.password_hash) == self.password_hash What value are you using for threadsafe in your app.yaml? How large is self.password_hash? Cheers, Brian This comes from a native Python implementation of the py-bcrypt package from http://www.mindrot.org/projects/py-bcrypt/; grabbed from here: https://github.com/erlichmen/py-bcrypt. So what's happening here and how can we fix this? Thanks, - Pol -- 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
Re: [google-appengine] Help resolve massive performance regression in 2.7 vs 2.5 runtime
It doesn't matter if you can have your ATI card up and running sooner if every single password attempt takes a whole lot longer to try. That is the main strength of bcrypt. -- 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/-/h0pow6-AvCUJ. 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] Help resolve massive performance regression in 2.7 vs 2.5 runtime
Nick, I agree, that my threat model assumes they didn't get my source code. That Somebody else's problem works under the assumption people are going to get my data, not my source code because I don't ever write my own DB server code I am stuck using someone else's which means the vulnerability that I am most likely to face is that somebody else's screw up will be where my problem lies. Granted this is a better strategy if you are running compiled code, since my code lives on the Google Server I'm at the mercy of Google's Security, where as if I were running compiled code it would be less likely someone would get the code. I would say that unique salt per user, is a good thing. The most common way to attack a large password database is to look at the most common entries and compare against the most common passwords from other sources. If you know the 15 most used passwords and the 15 most often occurring database results you are a long ways towards knowing what those 15 values are and calculating the salt. You aren't crunching millions of combinations you are crunching 1000's and once you have the salt, you take your already deciphered list of the most common passwords and you calculate the top 5k using bcrypt and you now have about 50% of the data in fewer than 10k operations. Compare that with my scenario. You have data. You don't have the source code. The UserID or other spoiler is in every salt so the reoccurrence of a hash doesn't correspond to a duplicate password, and now the computation is nearly impossible even if you have the source code, because you have to calculate every value for every user anyway. Would Brcypt(Pass+UserID+Salt) be the best? Yes. But MD5(Pass+UserID+Salt) is going to still going to be orders of magnitude more difficult than Bcrypt(Pass+salt), because I can't use knowledge of frequency tables to predict likely outcomes or detect duplicate passwords. -Brandon From: google-appengine@googlegroups.com [mailto:google-appengine@googlegroups.com] On Behalf Of Nick Johnson Sent: Monday, November 14, 2011 6:21 PM To: google-appengine@googlegroups.com Subject: Re: [google-appengine] Help resolve massive performance regression in 2.7 vs 2.5 runtime Hi Brandon, What you say is fine if your threat model only includes script kiddies who don't have your source code. If either of those is not true - you have an adversary with some level of independent skill, or your source code is compromised - any method that relies on obscurity for its security will fare very poorly. One thing to bear in mind is that if your app is ever compromised, your password database and/or source may be posted publicly; at that point, you no longer have to worry about just the initial attacker, but anyone with sufficient motivation. Of course, using federated login like OpenID or the Users API obviates the need to store passwords at all, making it Someone Else's Problem. :) -Nick On Tue, Nov 15, 2011 at 1:07 PM, Brandon Wirtz drak...@digerat.com wrote: If I know your salt, I can De-Hash bcrypts faster than I can any of the weird combinations. Because there are libraries for doing so on ATI cards. If you do something weird a script kiddie can't just pull code off the web and attack it. You want to see who can offline crack a set of 1M users? Your bcrypt list vs my Weird You don't even have to give me the salt I'll have 10k of those cracked in the first 72 hours. 10 to 1 odds you won't get through mine without my source code in my life time. -Brandon Wirtz PS I don't usually do the trust me I'm far more evil but FBI, Homeland Security, and the CIA have been to my doorstep for things I have defeated, documented, or built to keep from being defeated. The first time I was in 3rd grade. From: google-appengine@googlegroups.com [mailto:google-appengine@googlegroups.com] On Behalf Of Nick Johnson Sent: Monday, November 14, 2011 3:56 PM To: google-appengine@googlegroups.com Subject: Re: [google-appengine] Help resolve massive performance regression in 2.7 vs 2.5 runtime No! Please, please don't do this. Obscurity is no substitute for security. 1) Bcrypt or similar is not 'overkill' no matter who you are. Users reuse passwords, and they're entitled to the best protection you can reasonably provide them. 2) Bcrypt is not there to protect against online attacks, it's there to protect against offline attacks, where an attacker obtains your hashed and salted passwords. 3) Doing something weird is security through obscurity. Do not base your security on your attacker not knowing what you did. Really, really don't just concatenate salts to the beginning or end of the password. 4) Both MD5 and SHA1 are merkle-damgard construction hashes (http://en.wikipedia.org/wiki/Merkle%E2%80%93Damg%C3%A5rd_construction). As a result, the concatenation of several hashes is no more secure than the most secure of the individual hashes. -Nick
RE: [google-appengine] Re: New Acceptable Use: Porn?
I lost the thread where someone said these changes were coming to other parts of Google. Apparently this isn't System wide YouTube kicked my video of a fully clothed 20 year old girl eating a popcicle in 3d which was used in a broadcast TV commercial so the FCC was ok with it, but Youtube wasn't. Time to start building my competitor running on Google's own hardware :-) Now if only I could only get a video manipulation library for GAE.. From: google-appengine@googlegroups.com [mailto:google-appengine@googlegroups.com] On Behalf Of Gregory D'alesandre Sent: Thursday, November 10, 2011 4:14 PM To: google-appengine@googlegroups.com Subject: Re: [google-appengine] Re: New Acceptable Use: Porn? I was wondering when someone was gonna notice. This was not a mistake. The new policy does not prohibit pornography nor gambling. The policy was written to disallow illegal activities but to be flexible in terms of the sorts of businesses people are trying to build. While you need to talk to your own lawyers about the legality of the business you build, pornography as a whole is no longer disallowed from acceptable use. Greg On Thu, Nov 10, 2011 at 1:51 PM, Brandon Wirtz drak...@digerat.com wrote: It also doesn't list gambling. Interesting... -Original Message- From: google-appengine@googlegroups.com [mailto:google-appengine@googlegroups.com] On Behalf Of Johnson Sent: Thursday, November 10, 2011 10:53 AM To: Google App Engine Subject: [google-appengine] Re: New Acceptable Use: Porn? link: http://code.google.com/appengine/program_policies.html On Nov 10, 1:52 pm, Johnson benf...@gmail.com wrote: The Acceptable Use policy has changed, and no longer lists pornography: Do we have a thumbs-up to go ahead with Adult content? -- 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 mailto:google-appengine%2bunsubscr...@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 mailto:google-appengine%2bunsubscr...@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: New Acceptable Use: Porn?
We already built one. However we don't encode on GAE obviously... Once we update our Ts and Cs to reflect the new GAE AUP we should be ready for your lascivious videos: http://www.metacdn.com/ On 15 November 2011 13:57, Brandon Wirtz drak...@digerat.com wrote: Time to start building my competitor running on Google’s own hardware :-) Now if only I could only get a video manipulation library for GAE…. -- 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] 1.6.0. Python2.7 How to import lxml in App engine SDK ?
Hi JPF, On Mon, Nov 14, 2011 at 7:19 AM, JPF jfi...@gmail.com wrote: I did not find info in the documentation I made a note to add this to the documentation: you have to install lxml in the Python distribution that you use to run dev_appserver.py Cheers, Brian -- 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/-/8NI4pERj9D0J. 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] HRD migration tool now available!
On Mon, Nov 14, 2011 at 8:13 AM, Joshua Smith joshuaesm...@charter.net wrote: Cool. And that will be OK to use in Python 2.7 (I recall reading something about not using environment variables there)? Environment variables are thread-local in Python 2.7 so this pattern will work there as well. Cheers, Brian On Nov 13, 2011, at 2:54 PM, Alfred Fuller wrote: full_app_id = os.getenv('APPLICATION_ID') On Fri, Nov 11, 2011 at 12:24 PM, Joshua Smith joshuaesm...@charter.net wrote: Another question. I have this code in my app, so that when someone comes in with an old key, my code will quietly convert it to the new app-id: from google.appengine.api.app_identity import get_application_id appname = get_application_id() @monkeypatch_method(webapp.Request) def get_db(self, key_attr): k = self.get(key_attr) if not k: return None key = db.Key(k) if key.app() == appname: return db.get(key) logging.info(Fixing up key from old app %s (%s=%s) % ( key.app() , key_attr , k )) fixed_key = db.Key.from_path(*key.to_path()) return db.get(fixed_key) So what's happening is it is fixing up every key, because get_application_id() doesn't have s~ on the front. What should I call to get the app id used in Keys? (The one with the s~ in front?) (BTW: This approach turned out to be a real time-saver for migrating my blobs. I could pass the old version keys from the new HR version, and it fixed them up into its own namespace without my having to even think about it.) -Joshua On Nov 11, 2011, at 1:16 PM, Joshua Smith wrote: OK, so the migration from MS to HR was really fast, and I ran into no problems. Woo hoo! I didn't do the alias step, because I now need to figure out how to move my old blobs into the new app, and I suspect that if I did the alias that would get really, really hard. Right? So instead, I changed the mapping of my www.myapp.com to point to the HR version using google apps domain management. Seems to have worked. Woo hoo again! How do I get my post-migration email budget back up to 2000? App ID of the new app is towngovernment-hr Now to move the blobs... On Nov 10, 2011, at 9:49 AM, Joshua Smith wrote: Guess I know what I'll be doing on my day off tomorrow. In case anyone didn't notice this in the docs: Currently, the HRD Migration Tool does not support copying data from Blobstore. If you use Blobstore, you need to manually copy that data over. Ugh. That's a pretty huge hole in the tool. Perhaps I know what I'll be doing all weekend… -Joshua On Nov 9, 2011, at 4:33 PM, Stacy (Google) wrote: We’ve just released a new self service HRD migration tool. This tool copies all of your data to HRD minimizing read-only times by using a multi-phase approach. Please see the documentation for details on how to use this. This tool is still considered experimental, please report problems you experience here in the forum or to the external issue tracker.We are still working on solutions for users of blobstore. Using HRD makes your app eligible for our SLA, and will lead to much better availability and more consistent performance. We think every app will benefit from the switch to HRD. Stacy -- 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/-/RzmZ--blDgIJ. 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. -- 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
Re: [google-appengine] getaddrinfo failed using urlfetch and python 2.7 (dev server)
Hi, I wasn't able to reproduce this problem with the same URL. It is likely that there is something odd in your environment that is preventing Python from being able to find the host. Cheers, Brian On Thu, Nov 10, 2011 at 2:13 PM, DurhamG durham.go...@gmail.com wrote: I'm trying to migrate my app to python 2.7 but when I do a urlfetch.fetch to facebook for some data, it throws the following exception: File C:\workspace\DjangoServer\src\mycode.py, line 167, in request urlfetch.fetch(url=https://graph.facebook.com/me? access_token=zfields=id%2Cemail) File C:\Program Files (x86)\Google\google_appengine\google\appengine \api\urlfetch.py, line 263, in fetch return rpc.get_result() File C:\Program Files (x86)\Google\google_appengine\google\appengine \api\apiproxy_stub_map.py, line 592, in get_result return self.__get_result_hook(self) File C:\Program Files (x86)\Google\google_appengine\google\appengine \api\urlfetch.py, line 365, in _get_fetch_result raise DownloadError(str(err)) DownloadError: ApplicationError: 2 [Errno 11003] getaddrinfo failed The url in question looks like this: https://graph.facebook.com/me?access_token=zfields=id,email , and works fine in the browser, but fails from the dev server. The code I'm calling is dead simple: file = urlfetch.fetch(url=https://graph.facebook.com/me? access_token=zfields=id%2Cemail) and it worked fine in python 2.5. The only suggestion I found when googling it was to turn off my fire wall, which didn't help, and some stuff about proxies, which I'm not behind one. Any ideas? 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] Dev server, channel, change files
When I open channel on dev-server - it stop detect changes in source file of my project. For detect changes in project I must close page with channel before change project or restart dev-server after change. -- Blog: www.rekby.ru -- 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] Running queries on data already stored in datastore
Hello all, This is my first time using google app engine and the datastore so this is all still pretty new to me. But I have successfully (using the bulk loader tool) loaded my data from csv files into the datastore. I am writing my program in Python and have now run into the issue of retrieving data from the datastore using python. I understand how to create Classes using db.Model in python, load information into them, store them and then run queries on them. But how do you run quries on the data that is stored in the datastore already? When I run a query for a Kind that I know is in my datastore it says Kind not found. Do I still need to define a class (db.Model) to hold the data? If so, how do I transfer the data from the datastore into my class object? Any clarification would be much appreciated! Zak -- 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] Memcache Auto Eviction Performance
Did not see this in a thread search. Pretty sure I would be safe making this assumption, but thought best to check. Question (background if you're interested is below): If a few thousand items are added to memcache each with a 30 second life, will this volume of time-based auto-evict items cause any performance / instance-increasing issues?? I'm assuming no, however: Whenever you assume, you... Thanks, stevep Background: I want to avoid consistency errors when selecting tasks from a query list. When a task is assigned it is checked out by incrementing a checkOut count on my Task class (checkOut count is a query filter item). Unfortunately the Task class has one somewhat large composite index to support the query, so my put() updates will be a bit resource intensive. I had thought that each time a checkOut count put() update is done, I would add an memcache value with the key_name of the entity being put() and specify something like a 30 second duration. When the query result of available tasks is iterated, a memcache call that successfully gets the key_name for the current iteration would indicate a consistency issue, and that entity would be skipped. Does not have to be perfect -- can live with some double assignments, but would like to catch most. Not a high-volume app, so worst case might be a few thousand such active memcache values living some part of their short lives. -- 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.