[appengine-java] Re: cron: AppEngineConfigException: schedule every 5 mins from 00:04 to 23:59 failed to parse
Are you seeing this error when you try to upload your app? Are you using the latest released (1.4.3) SDK? On Apr 6, 5:40 am, epure filip.god...@gmail.com wrote: Ping -- 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] unable to update app:Failed to compile jsp files
I got problem when I deploy my project to Google App Engine. The project works ok on localhost. When deploying, there was a error message I post below: How to solve it? Creating staging directory Scanning for jsp files. Compiling jsp files. com.google.appengine.tools.admin.JspCompilationException: Failed to compile jsp files. 2011/4/7 下午 01:35:47 org.apache.jasper.compiler.AntCompiler generateClass 嚴重的: Error compiling file: C:\DOCUME~1\WuEric\LOCALS~1\Temp \appcfg1263523209940719896.tmp\WEB-INF\classes\org\apache\jsp \match_jsp.java [javac] Compiling 1 source file 2011/4/7 下午 01:35:47 org.apache.jasper.compiler.AntCompiler generateClass 嚴重的: Javac exception Error running javac.exe compiler at org.apache.tools.ant.taskdefs.compilers.DefaultCompilerAdapter.executeExternalCompile(DefaultCompilerAdapter.java: 473) at org.apache.tools.ant.taskdefs.compilers.JavacExternal.execute(JavacExternal.java: 47) at org.apache.tools.ant.taskdefs.Javac.compile(Javac.java:931) at org.apache.tools.ant.taskdefs.Javac.execute(Javac.java:757) at org.apache.jasper.compiler.AntCompiler.generateClass(AntCompiler.java: 226) at org.apache.jasper.compiler.Compiler.compile(Compiler.java:349) at org.apache.jasper.JspC.processFile(JspC.java:1192) at org.apache.jasper.JspC.execute(JspC.java:1341) at com.google.appengine.tools.development.LocalJspC.main(LocalJspC.java: 18) Caused by: java.io.IOException: Cannot run program javac.exe: CreateProcess error=2, ?t?Χ?? at java.lang.ProcessBuilder.start(Unknown Source) at java.lang.Runtime.exec(Unknown Source) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.apache.tools.ant.taskdefs.Execute $Java13CommandLauncher.exec(Execute.java:834) at org.apache.tools.ant.taskdefs.Execute.launch(Execute.java:435) at org.apache.tools.ant.taskdefs.Execute.execute(Execute.java:449) at org.apache.tools.ant.taskdefs.compilers.DefaultCompilerAdapter.executeExternalCompile(DefaultCompilerAdapter.java: 470) ... 8 more Caused by: java.io.IOException: CreateProcess error=2, ?t?Χ?? at java.lang.ProcessImpl.create(Native Method) at java.lang.ProcessImpl.init(Unknown Source) at java.lang.ProcessImpl.start(Unknown Source) ... 18 more --- Nested Exception --- java.io.IOException: Cannot run program javac.exe: CreateProcess error=2, ?t?Χ?? at java.lang.ProcessBuilder.start(Unknown Source) at java.lang.Runtime.exec(Unknown Source) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.apache.tools.ant.taskdefs.Execute $Java13CommandLauncher.exec(Execute.java:834) at org.apache.tools.ant.taskdefs.Execute.launch(Execute.java:435) at org.apache.tools.ant.taskdefs.Execute.execute(Execute.java:449) at org.apache.tools.ant.taskdefs.compilers.DefaultCompilerAdapter.executeExternalCompile(DefaultCompilerAdapter.java: 470) at org.apache.tools.ant.taskdefs.compilers.JavacExternal.execute(JavacExternal.java: 47) at org.apache.tools.ant.taskdefs.Javac.compile(Javac.java:931) at org.apache.tools.ant.taskdefs.Javac.execute(Javac.java:757) at org.apache.jasper.compiler.AntCompiler.generateClass(AntCompiler.java: 226) at org.apache.jasper.compiler.Compiler.compile(Compiler.java:349) at org.apache.jasper.JspC.processFile(JspC.java:1192) at org.apache.jasper.JspC.execute(JspC.java:1341) at com.google.appengine.tools.development.LocalJspC.main(LocalJspC.java: 18) Caused by: java.io.IOException: CreateProcess error=2, ?t?Χ?? at java.lang.ProcessImpl.create(Native Method) at java.lang.ProcessImpl.init(Unknown Source) at java.lang.ProcessImpl.start(Unknown Source) ... 18 more 2011/4/7 下午 01:35:47 org.apache.jasper.compiler.AntCompiler generateClass 嚴重的: Environment: Compile: javaFileName=C:\DOCUME~1\WuEric \LOCALS~1\Temp\appcfg1263523209940719896.tmp\WEB-INF\classes\org\apache \jsp\match_jsp.java classpath=/E:/eclipse/plugins/ com.google.appengine.eclipse.sdkbundle.1.4.2_1.4.2.v201102111811/ appengine-java-sdk-1.4.2/lib/impl/appengine-api-labs.jar;/E:/eclipse/ plugins/com.google.appengine.eclipse.sdkbundle. 1.4.2_1.4.2.v201102111811/appengine-java-sdk-1.4.2/lib/impl/appengine- api-stubs.jar;/E:/eclipse/plugins/ com.google.appengine.eclipse.sdkbundle.1.4.2_1.4.2.v201102111811/ appengine-java-sdk-1.4.2/lib/impl/appengine-api.jar;/E:/eclipse/
[appengine-java] Re: Could Not Verify SSL Certificate
Hello everybody, I have a similar problem, but with the version 1.4.3 The site I'm connecting to (web services) has a bad ssl certificat (not right for the domain). I added it successfully to the cacerts of the jdk. Using v1.4.2, the ssl connection is working. When trying to use the v1.4.3, the connection fail : Could not verify SSL certificate Going back to 1.4.2 : working Using : Windows XP jdk-6u24 eclipse gae in dev mode -- 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] JDO - Updating a One-to-one child
I have a Recipe. Each Recipe has an image. So my entity looks something like @PersistenceCapable public class Recipe { @PrimaryKey @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY) private Key key; @Persistent private MyImage myImage; When I create the Recipe the first time, it works great, the image is added as well and I can view it. However when I go and update it such as PersistenceManager pm = PMF.get().getPersistenceManager(); Recipe r = pm.getObjectById(Recipe.class, recKey); try { r.setImage(newImage); } finally { pm.close(); } the new image is added to the data-store, but when I try and fetch it from within the recipe, the recipe still points to the old image in my data-store. Is this normal? How can I fix this? -- 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] Failed to compile jsp files.
I use the new version of sdk1.4.3. The problem still unsolved. here is the error message Creating staging directory Scanning for jsp files. Compiling jsp files. com.google.appengine.tools.admin.JspCompilationException: Failed to compile jsp files. 2011/4/7 下午 04:17:10 org.apache.jasper.compiler.AntCompiler generateClass 嚴重的: Error compiling file: C:\DOCUME~1\WuEric\LOCALS~1\Temp \appcfg6893966832847615321.tmp\WEB-INF\classes\org\apache\jsp \match_jsp.java [javac] Compiling 1 source file 2011/4/7 下午 04:17:10 org.apache.jasper.compiler.AntCompiler generateClass 嚴重的: Javac exception Error running javac.exe compiler at org.apache.tools.ant.taskdefs.compilers.DefaultCompilerAdapter.executeExternalCompile(DefaultCompilerAdapter.java: 473) at org.apache.tools.ant.taskdefs.compilers.JavacExternal.execute(JavacExternal.java: 47) at org.apache.tools.ant.taskdefs.Javac.compile(Javac.java:931) at org.apache.tools.ant.taskdefs.Javac.execute(Javac.java:757) at org.apache.jasper.compiler.AntCompiler.generateClass(AntCompiler.java: 226) at org.apache.jasper.compiler.Compiler.compile(Compiler.java:349) at org.apache.jasper.JspC.processFile(JspC.java:1192) at org.apache.jasper.JspC.execute(JspC.java:1341) at com.google.appengine.tools.development.LocalJspC.main(LocalJspC.java: 18) Caused by: java.io.IOException: Cannot run program javac.exe: CreateProcess error=2, ?t?Χ?? at java.lang.ProcessBuilder.start(Unknown Source) at java.lang.Runtime.exec(Unknown Source) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.apache.tools.ant.taskdefs.Execute $Java13CommandLauncher.exec(Execute.java:834) at org.apache.tools.ant.taskdefs.Execute.launch(Execute.java:435) at org.apache.tools.ant.taskdefs.Execute.execute(Execute.java:449) at org.apache.tools.ant.taskdefs.compilers.DefaultCompilerAdapter.executeExternalCompile(DefaultCompilerAdapter.java: 470) ... 8 more Caused by: java.io.IOException: CreateProcess error=2, ?t?Χ?? at java.lang.ProcessImpl.create(Native Method) at java.lang.ProcessImpl.init(Unknown Source) at java.lang.ProcessImpl.start(Unknown Source) ... 18 more --- Nested Exception --- java.io.IOException: Cannot run program javac.exe: CreateProcess error=2, ?t?Χ?? at java.lang.ProcessBuilder.start(Unknown Source) at java.lang.Runtime.exec(Unknown Source) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.apache.tools.ant.taskdefs.Execute $Java13CommandLauncher.exec(Execute.java:834) at org.apache.tools.ant.taskdefs.Execute.launch(Execute.java:435) at org.apache.tools.ant.taskdefs.Execute.execute(Execute.java:449) at org.apache.tools.ant.taskdefs.compilers.DefaultCompilerAdapter.executeExternalCompile(DefaultCompilerAdapter.java: 470) at org.apache.tools.ant.taskdefs.compilers.JavacExternal.execute(JavacExternal.java: 47) at org.apache.tools.ant.taskdefs.Javac.compile(Javac.java:931) at org.apache.tools.ant.taskdefs.Javac.execute(Javac.java:757) at org.apache.jasper.compiler.AntCompiler.generateClass(AntCompiler.java: 226) at org.apache.jasper.compiler.Compiler.compile(Compiler.java:349) at org.apache.jasper.JspC.processFile(JspC.java:1192) at org.apache.jasper.JspC.execute(JspC.java:1341) at com.google.appengine.tools.development.LocalJspC.main(LocalJspC.java: 18) Caused by: java.io.IOException: CreateProcess error=2, ?t?Χ?? at java.lang.ProcessImpl.create(Native Method) at java.lang.ProcessImpl.init(Unknown Source) at java.lang.ProcessImpl.start(Unknown Source) ... 18 more 2011/4/7 下午 04:17:10 org.apache.jasper.compiler.AntCompiler generateClass 嚴重的: Environment: Compile: javaFileName=C:\DOCUME~1\WuEric \LOCALS~1\Temp\appcfg6893966832847615321.tmp\WEB-INF\classes\org\apache \jsp\match_jsp.java classpath=/D:/java_sdk/appengine-java-sdk-1.4.3/lib/impl/appengine- api-labs.jar;/D:/java_sdk/appengine-java-sdk-1.4.3/lib/impl/appengine- api-stubs.jar;/D:/java_sdk/appengine-java-sdk-1.4.3/lib/impl/appengine- api.jar;/D:/java_sdk/appengine-java-sdk-1.4.3/lib/impl/appengine-local- runtime.jar;D:\java_sdk\appengine-java-sdk-1.4.3\lib\shared\appengine- local-runtime-shared.jar;D:\java_sdk\appengine-java-sdk-1.4.3\lib \shared\el-api.jar;D:\java_sdk\appengine-java-sdk-1.4.3\lib\shared\jsp \repackaged-appengine-ant-1.7.1.jar;D:\java_sdk\appengine-java-
[appengine-java] Re: JDO - Updating a One-to-one child
Hi, I don't personally use JDO, but don't you have to re-put your object? I don't know how JDO does its dirty checking - I doubt very much that it will persist modified entities just because you're closing the Persistence Manager. Cheers, Simon -- 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: JDO - Updating a One-to-one child
Hello Simon, even if I persist it doing try { r.setImage(newImage); pm.makePersistent(newImage); } finally { pm.close(); } I still get the same results. The interesting thing is that if I delete the image entity from the datastore, the recipe points to the next one. Maybe there's some reference issue happening that I need to fix. Don't know. On Thu, Apr 7, 2011 at 10:39 AM, Simon Knott knott.si...@gmail.com wrote: Hi, I don't personally use JDO, but don't you have to re-put your object? I don't know how JDO does its dirty checking - I doubt very much that it will persist modified entities just because you're closing the Persistence Manager. Cheers, Simon -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-java@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-java@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
Re: [appengine-java] Re: JDO - Updating a One-to-one child
If you look in the datastore admin tool, can you see whether the Recipe is being updated with the new image reference? Are you seeing this problem on Dev or Prod? -- 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: JDO - Updating a One-to-one child
Have you tried deploying to GAE? You can only see child fields in the datastore viewer in Production. -- 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: JDO - Updating a One-to-one child
It's the same when deployed to GAE. From the live datastore viewer I don't see the children when viewing the Recipe entity itself. The images get stored in another table called Image. Was I suppose to see a reference to the image object directly in the Recipe entity? On Thu, Apr 7, 2011 at 11:08 AM, Simon Knott knott.si...@gmail.com wrote: Have you tried deploying to GAE? You can only see child fields in the datastore viewer in Production. -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-java@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-java@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
Re: [appengine-java] Re: JDO - Updating a One-to-one child
I don't see the actual Recipe being update with anything. I just see the Image being added in the Image 'table'. But from the datastore viewer there's no attribute in the Recipe 'table'. Hope that's clear. On Thu, Apr 7, 2011 at 10:58 AM, Simon Knott knott.si...@gmail.com wrote: If you look in the datastore admin tool, can you see whether the Recipe is being updated with the new image reference? Are you seeing this problem on Dev or Prod? -- 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: Group Welcome Read Me
hello boys and girl my level in engilsh is very poor but i try to explain my problems clearly i use the extention for GWT who call GXT i create my project and i try to deploy with Google App Engine but i have one error GWT compilation failed and on my console Compiling module org.apir.admin.admin [ERROR] Errors in 'jar:file:/D:/eclipse/workspace/admin2/gxt.jar!/com/extjs/gxt/ui/client/data/BeanModelLookup.java' [ERROR] Internal compiler error i don't know the reason of this mistake idon't know if it's because the extension GXT who is no compatible with google app engine or if it's my program thank you and i wait many answers for my problems sorry if it's not the place for this question -- 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: JDO - Updating a One-to-one child
Yes, that's what I would have expected - how else would a recipe ever retain which image it is related to? Is the relationship purely stored within the key of the Image? I must admit that without any knowledge of JDO and its relationship management, I'm just making wild guesses! -- 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: JDO - Updating a One-to-one child
Well, I would think the Key has relationship information. The thing is that I'm able to fetch the image for the recipe, so the relationship is there somehow. It seems as if setImage() isn't enough for the linkage to update to the latest image. On Thu, Apr 7, 2011 at 11:29 AM, Simon Knott knott.si...@gmail.com wrote: Yes, that's what I would have expected - how else would a recipe ever retain which image it is related to? Is the relationship purely stored within the key of the Image? I must admit that without any knowledge of JDO and its relationship management, I'm just making wild guesses! -- 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: Integrating Flex/Flash/Silverlight/AJAX/Android with Java classes in GAE
Mark, if I write a simple servlet that accepts JSON it supports any client too, for free with no external dependencies. I watched your entire video. Sorry, not sure I understand your value proposition. On Apr 5, 3:45 pm, Mark Piller mpil...@gmail.com wrote: Hey guys, I am not sure what the policy for announcements is on this forum, but I hope many of you will find it relevant. I just wanted to let you know that we released a version of our software which provides runtime integration between various client types and Java classes hosted in GAE. The supported client types include Flex, Flash, Silverlight, JavaScript/AJAX, Android, Windows Phone and in the very near future iOS. The product enabling the integration is called WebORB. It can be plugged into any GAE app. There is a video describing the integration at:http://www.youtube.com/watch?v=NSx9oRj5v50 The doc describing the integration is available at:http://www.themidnightcoders.com/fileadmin/docs/java/v4/gae_overview.htm Cheers, Mark -- 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] My application works well in eclipse but when I deploy the same code in GAE it shows the following error while opening the homepage
Error: Server ErrorThe server encountered an error and could not complete your request. If the problem persists, please reporthttp://code.google.com/appengine/community.html your problem and mention this error message and the query that caused it. -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To 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] fetching of children JDO
Hi, I am new to JDO! Sorry if this is a repeated post, but i could not find out nothing with an answer to my problem. I am trying to model the following strutucre: class A{ private ArrayList B listB; } class B{ private LinkedListC listC; } Note: the fields (listB and listC) are marked with @Persistent(defaultFetchGroup = true) Problem: I retrieve a A object and than detach it. I can acess the listB field just fine, but when i try to acess the working hours, i get the following error: javax.jdo.JDODetachedFieldAccessException: You have just attempted to access field listC yet this field was not detached when you detached the object. Either dont access this field, or detach it when detaching the object. I checked the console and noticed the following warnings: WARNING: Meta-data warning for datastore.objects.A.listB: The datastore does not support joins and therefore cannot honor requests to place related objects in the default fetch group. The field will be fetched lazily... WARNING: Meta-data warning for datastore.objects.B.listC: The datastore does not support joins and therefore cannot honor requests to place related objects in the default fetch group. The field will be fetched lazily... Wich is weird, as i can access listB just fine. The error apears when i try to access listC. Does anyone know what is going on? Any help would be appreciated! Thanks in advance -- 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: fetching of children JDO
I have a mistake above: by I retrieve a A object and than detach it. I can acess the listB field just fine, but when i try to acess the* working hours*, i get the following error: e mean I retrieve a A object and than detach it. I can acess the listB field just fine, but when i try to acess the *listC*, i get the following error: -- 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] My application works well in eclipse but when I deploy the same code in GAE it shows the following error while opening the homepage
Please copy and paste your google app engine console to identify the exact problem. Thanks. On Thu, Apr 7, 2011 at 5:31 PM, Rajesh KN knra...@gmail.com wrote: Error: Server Error The server encountered an error and could not complete your request. If the problem persists, please reporthttp://code.google.com/appengine/community.html your problem and mention this error message and the query that caused it. -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To 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] How to read large files from the Blobstore using the file API ?
Hi, I am trying to read some 5MB XML files I have saved into the Blobstorevia the new APIs introduced in Version 1.4.3. The problem is that the read is so slow that I get a DeadlineExceededException :( I'm folowing the example provided in the docs here: http://code.google.com/appengine/docs/java/blobstore/overview.html#Writing_Files_to_the_Blobstore Here is my code: AppEngineFile aeFile = fileService.getBlobFile(key); FileReadChannel readChannel = fileService.openReadChannel(aeFile, false); BufferedReader reader = new BufferedReader(Channels.newReader(readChannel, UTF8)); StringBuffer sBuffer = new StringBuffer(); String line = null; while ((line = reader.readLine()) != null) sBuffer.append(line); So the question is: What is a fast way to read large files from the Blobstore? Many thanks for the help ! Daniel -- 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: JDO - Updating a One-to-one child
This is really weird. I cannot find anything on the internet that could help me. It seems such a simple thing to be editing child objects and I find it ridiculous that I can't find a solution. please help On Thu, Apr 7, 2011 at 11:53 AM, Luca Matteis lmatt...@gmail.com wrote: Well, I would think the Key has relationship information. The thing is that I'm able to fetch the image for the recipe, so the relationship is there somehow. It seems as if setImage() isn't enough for the linkage to update to the latest image. On Thu, Apr 7, 2011 at 11:29 AM, Simon Knott knott.si...@gmail.com wrote: Yes, that's what I would have expected - how else would a recipe ever retain which image it is related to? Is the relationship purely stored within the key of the Image? I must admit that without any knowledge of JDO and its relationship management, I'm just making wild guesses! -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-java@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-java@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
Re: [appengine-java] Best practice for multithreaded access/update to entity
Hi Ikai, Could you expand your answer a little? Do you mean that I don't need to manage a timestap/version if I use transactions? Or do you mean I should use transactions to combine a read (to check for a changed timestamp/version) with a write? If I don't manage the timestamp myself, how does AppEngine know another process change the data since the last read? part of the key? Sorry for those beginner questions, I started using the datastore via the JDO API with a relational background, but it looks it isn't always the best fit for typical datastore issues. Objectify looks much better as it is specifically designed for it. Thanks every one for your answers Peter -- 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: Happy Birthday Google App Engine !!
+1 Regards On Apr 7, 3:52 pm, Thomas Wiradikusuma wiradikus...@gmail.com wrote: I agree with Rajkumar, GAE/J is a very important service, especially for indie Java developers like me. The service is getting better, and the developer groups are vibrant. Happy Birthday GAE! regards, Thomas Wiradikusuma On Apr 7, 12:17 pm, Rajkumar Radhakrishnan r.rajku...@gmail.com wrote: Hi, It is now 3 years since Google App Engine was first released. *Happy Birthday Google App Engine !!* -- 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: fetching of children JDO
The problem could be due to fetch depth. In my jdoconfig.xml file, I have property name=datanucleus.maxFetchDepth value=1/ which is the default value. I use transactions for my data exchange with the datastore using JDO for everything except queries which can return entities from more than one entity group. What I do is: · Retrieve or get an instance of A. · Touch = retrieve the instance of B from A (A.getB()?) · Touch = retrieve the instance of C from B (B.getC()?) whilst in the transaction and before detaching. Then you should have what you need. What I do (and it's not optimised but it works) is have a generalised business method like /** * For each object in the list supplied, fetches explicitly all fields * which represent either persistent objects or lists (of any object), * in order to force their loading into the persistent object. * This method traverses one generation only in each direction. * (To traverse another generation, a fresh call to the database * will be needed to yield the relevant object(s) from the correct * source generation.) * @param liList The list of persistence objects to be traversed. */ private static void fetchChildAndParentFields(ArrayList liList) { ListIterator iterList = liList.listIterator(); while (iterList.hasNext()) { Object obj = iterList.next(); if (obj instanceof User) { User user = (User)obj; ArrayListUserDetails liUserDetails = user.getUserDetails(); if (liUserDetails != null) liUserDetails.size(); ImageDataTemp idtImageDataTemp = user.getImageDataTemp(); ArrayListCommissionReceived liCommissionsReceived = user.getCommissionsReceived(); if (liCommissionsReceived != null) liCommissionsReceived.size(); } else if ... ... } } which is called within the transaction before detachment. I then know that I have got the next layer of objects already fetched and ready for use and abuse. On Apr 7, 1:19 pm, Neto jpe.n...@gmail.com wrote: I have a mistake above: by I retrieve a A object and than detach it. I can acess the listB field just fine, but when i try to acess the* working hours*, i get the following error: e mean I retrieve a A object and than detach it. I can acess the listB field just fine, but when i try to acess the *listC*, i get the following error: -- 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: JDO - Updating a One-to-one child
Do you use transactions? Instead of your PersistenceManager pm = PMF.get().getPersistenceManager(); Recipe r = pm.getObjectById(Recipe.class, recKey); try { r.setImage(newImage); } finally { pm.close(); } have you tried PersistenceManager pm = PMF.get().getPersistenceManager(); Transaction tx = pm.currentTransaction(); try { tx.begin(); Recipe r = pm.getObjectById(Recipe.class, recKey); r.setImage(newImage); tx.commit(); } finally { try { if (tx.isActive())// Because of an exception, say tx.rollback(); } finally { pm.close(); } } On Apr 7, 3:03 pm, Luca Matteis lmatt...@gmail.com wrote: This is really weird. I cannot find anything on the internet that could help me. It seems such a simple thing to be editing child objects and I find it ridiculous that I can't find a solution. please help On Thu, Apr 7, 2011 at 11:53 AM, Luca Matteis lmatt...@gmail.com wrote: Well, I would think the Key has relationship information. The thing is that I'm able to fetch the image for the recipe, so the relationship is there somehow. It seems as if setImage() isn't enough for the linkage to update to the latest image. On Thu, Apr 7, 2011 at 11:29 AM, Simon Knott knott.si...@gmail.com wrote: Yes, that's what I would have expected - how else would a recipe ever retain which image it is related to? Is the relationship purely stored within the key of the Image? I must admit that without any knowledge of JDO and its relationship management, I'm just making wild guesses! -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-java@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-java@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
Re: [appengine-java] Re: JDO - Updating a One-to-one child
Hello Ian, I tried using your exact piece of code. Still same results. The recipe still points to the first image instead of the most recently added one. On Thu, Apr 7, 2011 at 5:20 PM, Ian Marshall ianmarshall...@gmail.com wrote: Do you use transactions? Instead of your PersistenceManager pm = PMF.get().getPersistenceManager(); Recipe r = pm.getObjectById(Recipe.class, recKey); try { r.setImage(newImage); } finally { pm.close(); } have you tried PersistenceManager pm = PMF.get().getPersistenceManager(); Transaction tx = pm.currentTransaction(); try { tx.begin(); Recipe r = pm.getObjectById(Recipe.class, recKey); r.setImage(newImage); tx.commit(); } finally { try { if (tx.isActive()) // Because of an exception, say tx.rollback(); } finally { pm.close(); } } On Apr 7, 3:03 pm, Luca Matteis lmatt...@gmail.com wrote: This is really weird. I cannot find anything on the internet that could help me. It seems such a simple thing to be editing child objects and I find it ridiculous that I can't find a solution. please help On Thu, Apr 7, 2011 at 11:53 AM, Luca Matteis lmatt...@gmail.com wrote: Well, I would think the Key has relationship information. The thing is that I'm able to fetch the image for the recipe, so the relationship is there somehow. It seems as if setImage() isn't enough for the linkage to update to the latest image. On Thu, Apr 7, 2011 at 11:29 AM, Simon Knott knott.si...@gmail.com wrote: Yes, that's what I would have expected - how else would a recipe ever retain which image it is related to? Is the relationship purely stored within the key of the Image? I must admit that without any knowledge of JDO and its relationship management, I'm just making wild guesses! -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-java@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-java@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-java@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
Re: [appengine-java] Re: Happy Birthday Google App Engine !!
Thanks for the nice thoughts, everyone. We're excited about what all of you have built on App Engine as well! On Thu, Apr 7, 2011 at 10:13 AM, gjs garyjamessi...@gmail.com wrote: +1 Regards On Apr 7, 3:52 pm, Thomas Wiradikusuma wiradikus...@gmail.com wrote: I agree with Rajkumar, GAE/J is a very important service, especially for indie Java developers like me. The service is getting better, and the developer groups are vibrant. Happy Birthday GAE! regards, Thomas Wiradikusuma On Apr 7, 12:17 pm, Rajkumar Radhakrishnan r.rajku...@gmail.com wrote: Hi, It is now 3 years since Google App Engine was first released. *Happy Birthday Google App Engine !!* -- 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] How much cpu should a page use
I just installed appstats. I have been looking at the breakdown of a few of my pages. Some, pages where many different models are being displayed on one page, seem like they are making a lot of RPC's. Is there a good benchmark I should try and set my pages to? What are good numbers for RPC Total and Grand Total? Are there any patterns that help with displaying many different models on a single page? -- 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: Happy Birthday Google App Engine !!
Happy birthday! Best platform ever! My own reasons http://goo.gl/IaiPS On Apr 7, 2011 11:13 AM, gjs garyjamessi...@gmail.com wrote: -- 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] Best practice for multithreaded access/update to entity
This video will help you immensely: http://sites.google.com/site/io/under-the-covers-of-the-google-app-engine-datastore You can skip to the end if you just want to grok the transactions, but the rest of it is extraordinarily helpful as well. You are correct, if you use transactions, you do not need to manage a timestamp. This is because GAE has its own timestamp on each entity group. When you load an entity in a transaction, GAE checks this timestamp. When you commit, it checks the timestamp again - and if something changed, you get a ConcurrentModificationException. By running your transaction in a retry loop and checking for ConcurrentModificationException, you can safely ensure that non-stale data is written. Note that this isn't too far off from a description of what happens when you do a non-transactional put(). It's just that the transaction and retry loop are performed within the datastore itself. Creating an explicit transaction just provides the opportunity for your business logic to get in the loop so to speak. Jeff On Thu, Apr 7, 2011 at 7:09 AM, Peter Backx peter.ba...@gmail.com wrote: Hi Ikai, Could you expand your answer a little? Do you mean that I don't need to manage a timestap/version if I use transactions? Or do you mean I should use transactions to combine a read (to check for a changed timestamp/version) with a write? If I don't manage the timestamp myself, how does AppEngine know another process change the data since the last read? part of the key? Sorry for those beginner questions, I started using the datastore via the JDO API with a relational background, but it looks it isn't always the best fit for typical datastore issues. Objectify looks much better as it is specifically designed for it. Thanks every one for your answers Peter -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-java@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-java@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
Re: [appengine-java] Best practice for multithreaded access/update to entity
This inspired me to add a little snippet to Objectify's BestPractices document: http://code.google.com/p/objectify-appengine/wiki/BestPractices#Use_Pythonic_Transactions Basically, to run an automatically repeated transaction that updates a (non-sharded to make the example simple) counter, I would do this: DAOT.repeatInTransaction(new Transactable() { @Override public void run(DAOT daot) { Counter count = daot.ofy().find(Counter.class, COUNTER_ID); count.increment(); daot.ofy().put(count); } }); This will guarantee that updates to the counter are not lost. Jeff On Thu, Apr 7, 2011 at 10:08 AM, Jeff Schnitzer j...@infohazard.org wrote: This video will help you immensely: http://sites.google.com/site/io/under-the-covers-of-the-google-app-engine-datastore You can skip to the end if you just want to grok the transactions, but the rest of it is extraordinarily helpful as well. You are correct, if you use transactions, you do not need to manage a timestamp. This is because GAE has its own timestamp on each entity group. When you load an entity in a transaction, GAE checks this timestamp. When you commit, it checks the timestamp again - and if something changed, you get a ConcurrentModificationException. By running your transaction in a retry loop and checking for ConcurrentModificationException, you can safely ensure that non-stale data is written. Note that this isn't too far off from a description of what happens when you do a non-transactional put(). It's just that the transaction and retry loop are performed within the datastore itself. Creating an explicit transaction just provides the opportunity for your business logic to get in the loop so to speak. Jeff On Thu, Apr 7, 2011 at 7:09 AM, Peter Backx peter.ba...@gmail.com wrote: Hi Ikai, Could you expand your answer a little? Do you mean that I don't need to manage a timestap/version if I use transactions? Or do you mean I should use transactions to combine a read (to check for a changed timestamp/version) with a write? If I don't manage the timestamp myself, how does AppEngine know another process change the data since the last read? part of the key? Sorry for those beginner questions, I started using the datastore via the JDO API with a relational background, but it looks it isn't always the best fit for typical datastore issues. Objectify looks much better as it is specifically designed for it. Thanks every one for your answers Peter -- 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] Detecting orphaned blobs in the Blobstore
Hi there. One of the features of my application requires the upload of image files along with other data in a form. That is, my entity is composed of both some fileds (text, currency, dates, etc) and an image file. As far as I could see, to deal with the blob store service is a two phase process. In my case, I submit a form with both the image and the remaining data, this post is handled by the blob store service, which stores the image and redirects the request back to my application, with the blob key and the remaining data of the form. But, what happens if, by some reason, the remaining of the post data cannot be persisted by my application? In cases like that, how can I cope with orphaned blobs in the blob store? I took a look at the BlobstoreService API, but could not find any method that lists all the keys of persisted blobs. Actually, I have some ideas for detecting and deleting such orphan blobs, but I'm afraid I can be missing something obvious since I'm still starting with GAE. Any advice in this sense? Loreno -- 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] Unable to delete entities
Hello, I have a strange problem in the app engine data viewer (admin tools). I have entities in my app that have an email property, but the value of email is ''... blank. This is apparently invalid, as when I browse all entities with the email property, I get an error. I then try to query: SELECT * FROM User WHERE email = '' and get the error: email must not be empty. I then try to query in reverse: SELECT * FROM User WHERE email != '' and I can browse the entities with no issues. How can I delete the entities with blank emails, when I cannot query on it being blank? I have a similar issue with URLs. Thanks! -Ben http://www.liink.it http://about.me/benjaminc -- 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] Deployment Problems Today
Anyone else having deployment problems today? Unable to update: java.io.IOException: Error posting to URL: https://appengine.google.com/api/appversion/clonefiles?app_id=smart-call-trackerversion=4; 500 Internal Server Error htmlhead meta http-equiv=content-type content=text/html;charset=utf-8 title500 Server Error/title /head body text=#00 bgcolor=#ff h1Error: Server Error/h1 h2The server encountered an error and could not complete your request.pIf the problem persists, please A HREF=http://code.google.com/appengine/community.html;report/A your problem and mention this error message and the query that caused it./h2 h2/h2 /body/html at com.google.appengine.tools.admin.AbstractServerConnection.send(AbstractServerConnection.java:245) at com.google.appengine.tools.admin.AbstractServerConnection.post(AbstractServerConnection.java:207) at com.google.appengine.tools.admin.AppVersionUpload.send(AppVersionUpload.java:638) at com.google.appengine.tools.admin.AppVersionUpload.cloneFiles(AppVersionUpload.java:502) at com.google.appengine.tools.admin.AppVersionUpload.beginTransaction(AppVersionUpload.java:462) at com.google.appengine.tools.admin.AppVersionUpload.doUpload(AppVersionUpload.java:137) at com.google.appengine.tools.admin.AppAdminImpl.doUpdate(AppAdminImpl.java:259) at com.google.appengine.tools.admin.AppAdminImpl.update(AppAdminImpl.java:47) at com.google.appengine.eclipse.core.proxy.AppEngineBridgeImpl.deploy(AppEngineBridgeImpl.java:271) at com.google.appengine.eclipse.core.deploy.DeployProjectJob.runInWorkspace(DeployProjectJob.java:146) at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:38) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54) ... and, now... Uploaded 5 files. Initializing precompilation... Deploying new version. Will check again in 1 seconds. Will check again in 2 seconds. Will check again in 4 seconds. Will check again in 8 seconds. Will check again in 16 seconds. Will check again in 32 seconds. Will check again in 60 seconds. Will check again in 60 seconds. Will check again in 60 seconds. Will check again in 60 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.
Re: [appengine-java] Best practice for multithreaded access/update to entity
Perfect, exactly the info I needed! Thanks a lot Jeff. Peter -- 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 shows error in .jsp but tutorial project runs
@IKai what was your fix for this guestbook.jsp error? I get a red x over the file name itself, but don't see a red square to indicate what the error is. I'm able to run it locally, but when I try to upload it following the last steps in the tutorial Eclipse throws an error: Unable to update: com.google.appengine.tools.admin.JspCompilationException: Failed to compile jsp files. at com.google.appengine.tools.admin.Application.compileJsps(Application.java:426) at com.google.appengine.tools.admin.Application.createStagingDirectory(Application.java:304) at com.google.appengine.tools.admin.AppAdminImpl.doUpdate(AppAdminImpl.java:257) at com.google.appengine.tools.admin.AppAdminImpl.update(AppAdminImpl.java:47) at com.google.appengine.eclipse.core.proxy.AppEngineBridgeImpl.deploy(AppEngineBridgeImpl.java:271) at com.google.appengine.eclipse.core.deploy.DeployProjectJob.runInWorkspace(DeployProjectJob.java:146) at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:38) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54) Thanks, Thoob Vaj -- 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: Unable to delete entities
Hi, You should try querying them all (so that you don't have to create an invalid query) via a Java program and then check the value of the property once the object is instantiated in order to issue a delete if the prop value is wrong. You may have to do this via chained queued tasks if your data is big. regards didier On Apr 7, 8:53 pm, Ben bencarl...@gmail.com wrote: Hello, I have a strange problem in the app engine data viewer (admin tools). I have entities in my app that have an email property, but the value of email is ''... blank. This is apparently invalid, as when I browse all entities with the email property, I get an error. I then try to query: SELECT * FROM User WHERE email = '' and get the error: email must not be empty. I then try to query in reverse: SELECT * FROM User WHERE email != '' and I can browse the entities with no issues. How can I delete the entities with blank emails, when I cannot query on it being blank? I have a similar issue with URLs. Thanks! -Ben http://www.liink.ithttp://about.me/benjaminc -- 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: Detecting orphaned blobs in the Blobstore
Hi, You get the key of your blob via BlobKey blobKey = blobs.get(myFile) (see http://code.google.com/appengine/docs/java/blobstore/overview.html) So, I would personally store all the myFile ids that I distributed from the server side and in an asynchronous queue task would do to see if the get() above responds with a Key. If yes, you decide with other data if orphaned or not and delete appropriately. regards didier On Apr 7, 8:46 pm, lorenoolive...@gmail.com lorenoolive...@gmail.com wrote: Hi there. One of the features of my application requires the upload of image files along with other data in a form. That is, my entity is composed of both some fileds (text, currency, dates, etc) and an image file. As far as I could see, to deal with the blob store service is a two phase process. In my case, I submit a form with both the image and the remaining data, this post is handled by the blob store service, which stores the image and redirects the request back to my application, with the blob key and the remaining data of the form. But, what happens if, by some reason, the remaining of the post data cannot be persisted by my application? In cases like that, how can I cope with orphaned blobs in the blob store? I took a look at the BlobstoreService API, but could not find any method that lists all the keys of persisted blobs. Actually, I have some ideas for detecting and deleting such orphan blobs, but I'm afraid I can be missing something obvious since I'm still starting with GAE. Any advice in this sense? Loreno -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-java@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
Re: [google-appengine] API to read Logs inside my application
Hi Sérgio, I'm not sure if you'll be able to make this work or not, but you could look at the source of the Python SDK's appcfg tool. I'm not sure if you'll be able to get it to work or not. http://code.google.com/p/googleappengine/source/browse/trunk/python/google/appengine/tools/appcfg.py#889 Not sure if it is a good idea, but it is an idea. Robert 2011/4/6 Sérgio Lopes slo...@gmail.com: Hi everybody I know we can get all Logs using the SDK remotely. But can I access my application logs inside the application itself? I think there isn't an official API for that. But maybe there's some internal API used by the SDK that I can use inside AppEngine... 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] Re: Datastore Admin
I've figured out that it should be the second configuration - with the : on. After using firebug to see what was going on in the blank iframe, I saw service login requests. So I logged out and logged back in, and it started working. I'm guessing that the new accounts system is introducing some wierdness. If you have this problem, log in to the appengine admin again and see if it fixes it. Cheers Greg. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
Re: [google-appengine] Channel API ClientID error
Hi Ania, It sounds like you are trying to use the token returned by createChannel as the client id. Instead you should pass that token to the client, the client should use that token to open the channel. You should instead use the same string that you originally passed to createChannel. You might want to review the docs, the terms can be a little confusing. http://code.google.com/appengine/docs/java/channel/overview.html#Elements_of_the_Channel_API http://code.google.com/appengine/docs/java/javadoc/com/google/appengine/api/channel/ChannelService.html Robert On Wed, Apr 6, 2011 at 19:03, Ania deanoz...@gmail.com wrote: Hi, I'm trying to send message between users using Channel API.I'm getting a following error: java.lang.IllegalArgumentException: Invalid client ID. The clientid must be fewer than 64 bytes when encoded to UTF-8. Client ID I'm passing is the one generated by ChannelServiceFactory. Does anybody know what seems to be the problem here? Thanks for any help! Ania -- 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: Please help me delete indexes
Bumping. Can someone please help me clear out these indexes, or give tips on if it's possible to do it myself? I really need to fix this in order to progress on my project. Thanks, Shaun On Apr 2, 3:18 pm, Shaun Budhram shaunbudh...@gmail.com wrote: Hello, I recently spun off an app from my previous app, with a different name. I forgot to clean out the index.yaml file, and as a result, the index quota was exceeded, and there's a bunch of unneeded indices in there. I cleaned out the index.yaml file and ran vacuum_indexes a few times. It gave no errors, but it's not seeming to have any effect. All old indexes are still there, stuck in the building state. Could someone please help me clear out these indexes? Thanks. My app id is: poll-parrot 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.
Re: [google-appengine] Re: Please help me delete indexes
File a production issue: http://code.google.com/p/googleappengine/issues/entry?template=Production%20issue On Thu, Apr 7, 2011 at 02:42, Shaun Budhram shaunbudh...@gmail.com wrote: Bumping. Can someone please help me clear out these indexes, or give tips on if it's possible to do it myself? I really need to fix this in order to progress on my project. Thanks, Shaun On Apr 2, 3:18 pm, Shaun Budhram shaunbudh...@gmail.com wrote: Hello, I recently spun off an app from my previous app, with a different name. I forgot to clean out the index.yaml file, and as a result, the index quota was exceeded, and there's a bunch of unneeded indices in there. I cleaned out the index.yaml file and ran vacuum_indexes a few times. It gave no errors, but it's not seeming to have any effect. All old indexes are still there, stuck in the building state. Could someone please help me clear out these indexes? Thanks. My app id is: poll-parrot Thanks! -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
Re: [google-appengine] Re: Task queue execution and Admin
This is a total guess, but what if you run your tasks from a subpath such as /tasks? So the url for that task would be /tasks/sendInvitation. Then secure the /tasks/* path. Perhaps another security constraint is defined that conflicts with your task. Robert On Wed, Apr 6, 2011 at 03:41, Java_GAE next.is@gmail.com wrote: Hello Robert, Thanks for the reply. Here is the portion of my web.xml which defines URL of the servlet used by tasks and restricts it to ADMIN. security-constraint web-resource-collection url-pattern/sendInvitation/url-pattern /web-resource-collection auth-constraint role-nameadmin/role-name /auth-constraint /security-constraint On Mar 30, 8:27 pm, Robert Kluin robert.kl...@gmail.com wrote: I suspect you've got a configuration problem. You might want to carefully review the docs on configuring theadminonly login. http://code.google.com/appengine/docs/java/taskqueue/overview.html#Se... If you still can't get it, I would post back including the appropriate parts of your config. Robert On Wed, Mar 30, 2011 at 04:51, Java_GAE next.is@gmail.com wrote: Hello Friends, I am facing following problem in my application: 1. I created a Servlet which can be accessed by any logged in user. This Servlet adds tasks in a queue. 2. Servlet used by the tasks is restricted forAdminonly in web.xml. 3. Tasks executed properly when I log in asAdminbut not when with normal Google Account. 4. I am surprised because Google Docs forTaskQueue Service says that tasks can accessAdminonly URLs. 5. My understanding from this Docs is - tasks will get executed irrespective of who is adding them -Adminor other user. 6. If not how to protecttaskURLs from within web.xml as the same Docs says that tasks cannot access URLs restricted with * role. Any help will be appreciated. Thanks in advance. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group 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] Problem creating new application
I have one app published just fine. Now I want to publish another but the Admin Console takes me to that one-time registration page, which (well known) rejects my phone number as previously used. What to do? -- 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] XMPP Service
I'm interested in using the XMPP Service for app to app communication. The main application will not be built on Google App Engine. Can the XMPP Service be used on its own without using the rest of App Engine? How many users can the XMPP Service support? Basically I'm looking for a hosted XMPP Service that can scale to support 100,000s to millions of users. I'm assuming that the Google XMPP services can support this as they are supporting massive scale for GoogleTalk ,etc. Is this support / scale available for third party applications? thanks, -J -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
[google-appengine] remote file download
Hi, I'm looking for a way that I can open a URLConnection to a file on the internet and serve it directly to the browser. something like this (normal servlet) String urlStr = req.getParameter(dl); URL url = new URL(urlStr); URLConnection con = url.openConnection(); InputStream is = con.getInputStream(); resp.setContentType(con.getContentType()); resp.setHeader(Content-Disposition, attachment; filename= + url.getFile()); OutputStream os = resp.getOutputStream(); byte[] buff = new byte[1024]; while (is.read(buff) != -1) { os.write(buff); } os.flush(); os.close(); Now this works fine for smaller files, but the moment the files are larger than 1Mb GAE blocks the Connection to the remote file. now I was thinking of rather than streaming directly to the browser client. would it be possible to download the file to the GAE BlobStore? Any thoughts -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
Re: [google-appengine] Violation of Terms - A Google App Engine Is Trying to Defraud My Customers
Hi, Id be interested how can a 3rd party website listen to Your website traffic. Las sent from my mobile device On Apr 6, 2011 10:47 AM, Ben Munoz benjaminmunoz...@gmail.com wrote: There is a web site that is listening to my web site's traffic and trying to send my customers to their web site. How can I get a hold of someone from Google to issue a complaint and have this account disabled. Violating App: http://chinacarrental.appspot.com Ben Munoz -- 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] Scheduled Downtime Woes
Dear App Engine Team, No web application platform should have hour-long scheduled downtime periods in the middle of the day. Why does Google App Engine have these, and when will this no longer happen? And, while one response might be to switch to the high replication datastore, this should technically be possible to fix without sacrificing consistency. One fix that I would be satisfied with is to schedule the downtime in the middle of the night. Give me the option of when downtime can occur. If you need some inspiration, you could look over at that other cloud provider I'm considering switching to. http://aws.amazon.com/rds/faqs/#12 The downtime also wouldn't be as bad if it were only for a couple minutes. The other thing I want to point out is that scheduled downtime is different than unplanned downtime. Unplanned downtime is something you can't control, but it just frustrates me that you plan downtime in the middle of the day. This is the biggest reason for why I'm considering switching away from Google App Engine. Looking forward to hearing from the App Engine team. Thanks, -- Kyle Mulka Co-Founder, DealSavant http://www.dealsavant.com -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
Re: [google-appengine] Violation of Terms - A Google App Engine Is Trying to Defraud My Customers
Yes, we are all thinking about that! 2011/4/6 László Török ltoro...@gmail.com Hi, Id be interested how can a 3rd party website listen to Your website traffic. Las sent from my mobile device On Apr 6, 2011 10:47 AM, Ben Munoz benjaminmunoz...@gmail.com wrote: There is a web site that is listening to my web site's traffic and trying to send my customers to their web site. How can I get a hold of someone from Google to issue a complaint and have this account disabled. Violating App: http://chinacarrental.appspot.com Ben Munoz -- 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. -- www.themaxbuddies.com -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
Re: [google-appengine] Scheduled Downtime Woes
Hi Kyle, GAE is a global service. Terms like in the middle of the day are quite dependent on where you are on the globe. That being said, if Google is using distributed data centers around the globe (if think they should as AWS), they should consider scheduling they down-times in such a way that outage is only limited to certain data centers. Las 2011/4/7 Kyle Mulka kyle.mu...@gmail.com Dear App Engine Team, No web application platform should have hour-long scheduled downtime periods in the middle of the day. Why does Google App Engine have these, and when will this no longer happen? And, while one response might be to switch to the high replication datastore, this should technically be possible to fix without sacrificing consistency. One fix that I would be satisfied with is to schedule the downtime in the middle of the night. Give me the option of when downtime can occur. If you need some inspiration, you could look over at that other cloud provider I'm considering switching to. http://aws.amazon.com/rds/faqs/#12 The downtime also wouldn't be as bad if it were only for a couple minutes. The other thing I want to point out is that scheduled downtime is different than unplanned downtime. Unplanned downtime is something you can't control, but it just frustrates me that you plan downtime in the middle of the day. This is the biggest reason for why I'm considering switching away from Google App Engine. Looking forward to hearing from the App Engine team. Thanks, -- Kyle Mulka Co-Founder, DealSavant http://www.dealsavant.com -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
Re: [google-appengine] remote file download
Why don't you just redirect them to the file and let the hosting server serve it directly? i.e. self.redirect(urlStr) Phil On 6 April 2011 14:47, fstof frans.stofb...@gmail.com wrote: Hi, I'm looking for a way that I can open a URLConnection to a file on the internet and serve it directly to the browser. something like this (normal servlet) String urlStr = req.getParameter(dl); URL url = new URL(urlStr); URLConnection con = url.openConnection(); InputStream is = con.getInputStream(); resp.setContentType(con.getContentType()); resp.setHeader(Content-Disposition, attachment; filename= + url.getFile()); OutputStream os = resp.getOutputStream(); byte[] buff = new byte[1024]; while (is.read(buff) != -1) { os.write(buff); } os.flush(); os.close(); Now this works fine for smaller files, but the moment the files are larger than 1Mb GAE blocks the Connection to the remote file. now I was thinking of rather than streaming directly to the browser client. would it be possible to download the file to the GAE BlobStore? Any thoughts -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
Re: [google-appengine] Re: CSV in Appengine!
I think he's already got the data he want, just needs to extract the individual fields from the CSV data. The split function will be a simple way to achieve this. e.g. strArray = strInputLine.split(',') strPlace = strArray[0] strXcoord = strArray[1] etc. HTH Phil On 6 April 2011 18:13, Barry Hunter barrybhun...@gmail.com wrote: You need to use a geocoder (well technically a reverse geocoder). That will most probably be connecting to an external webservice, such as geonames, or the one in the Google Maps API. (note if you use the Google Maps API one, you must use teh data to shown a Google Map on your site) It could be a geocoder you have locally in your application, I dont know any coded in python off hand, but you would also need to source the data to power it. On 6 April 2011 15:51, Massimiliano massimiliano.pietr...@gmail.comwrote: I'm not afraid how to import the CSV. I don't know how to manage the data to obtain the city and country with the coordinates! 2011/4/6 JH jamesthop...@gmail.com Max, There is a nice python library called xlwt, I'm sure you can find it via Google. It lets you read and write Microsoft Excel files. Cheers On Apr 6, 9:07 am, Massimiliano massimiliano.pietr...@gmail.com wrote: Hi, can someone help me? A big problem for me, I hope easy for you. I have a file xls (I can convert it in CSV) like this: Place Coordinates Place1 1,2 Place2 3,4 Place3 5,6 Place4 7,8 and so on... and I want to store it in appengine like this: Place Country City Coordinates ... How can I do it? Can someone share a python code to do this? Thanks Max --www.themaxbuddies.com -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en. -- www.themaxbuddies.com -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en. -- 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: SDK 1.4.3 has been released!
Wow, thanks for the feedback. Does anyone here have a negative experience with thread-safe? I'm asking because we had received some feedback that this resulted in poorer performance. We don't believe this should be the case at all and want to track down if and why this happens. One huge benefit of concurrent requests should be a drastic decrease in Request was aborted errors. The reason that error occurs is because a request sits in a pending queue waiting to be served and times out after X seconds, where X is close to 10. When a new request comes in, we try to figure out if it would be faster to spin up a new instance or place it into a pending queue based on a sliding window of recent request pending wait times. Since Java apps tend take on the order of a few seconds to start up, this can cause us to very heavily favor putting requests into pending queues instead of spinning up new instances. With concurrent requests, your instances are far less likely to block on long running requests (say most of your requests make Facebook API calls and the API just happens to be slow at that time), which should result in a higher threshold before causing requests to back up in your pending queue. Always on for Java now guarantees a concurrency of 3 * (number of concurrent requests an instance can handle), which is a HUGE win. Ikai Lan Developer Programs Engineer, Google App Engine Blog: http://googleappengine.blogspot.com Twitter: http://twitter.com/app_engine Reddit: http://www.reddit.com/r/appengine On Thu, Apr 7, 2011 at 12:58 AM, Sérgio Lopes slo...@gmail.com wrote: I've been using GAE 1.4.3 with thread-safe on and AlwaysOn for a few days. And my conclusion is that it almost solves all Cold Start problems we were used to. Now I have fewer instances warmups and most of them are /_ah/warmup request with no user suffering. In my tests, I had instances lasting more than 40 hours! Nice work, AppEngine team! -- 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] Scheduled Downtime Woes
Hi, As Las has said, it's a global service - the middle of the day downtime for you was early morning downtime for me! I guess it would be better if the scheduled downtime was staggered, so that it impacted a different set of applications each time, but I'm guessing Google are constrained with resources. Have you considered moving to an HR application, so that the planned downtime doesn't impact you? Las, as far as I'm aware all of the GAE servers are in North America and aren't distributed around the globe. Cheers, Simon -- 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: SDK 1.4.3 has been released!
Hi, It all appears very good so far from my experience - I haven't personally noticed any drop-off in performance, only a massive decrease in the number of instances spun-up and therefore a large drop-off of warm-up requests. A big win! Cheers, Simon -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
[google-appengine] Google App Engine facebook community page
Hi everybody! I'm happy to announce the brand new Google App Engine community page for facebook addicted dudes! :) http://on.fb.me/fb-gae Enjoy it! mova77 -- 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] Scheduled Downtime Woes
2011/4/7 Simon Knott knott.si...@gmail.com Hi, As Las has said, it's a global service - the middle of the day downtime for you was early morning downtime for me! I guess it would be better if the scheduled downtime was staggered, so that it impacted a different set of applications each time, but I'm guessing Google are constrained with resources. Have you considered moving to an HR application, so that the planned downtime doesn't impact you? This is a good idea and my gut feeling is telling me it should be possible. You could basically specify your apps geographical availability (say by continent) and Google could group apps onto a set of nodes using these hints. Maintenance would take place by regions. I'm not sure how much control the GAE folks have over the underlying storage infrastructure though. Las, as far as I'm aware all of the GAE servers are in North America and aren't distributed around the globe. Too bad :) Cheers, Simon -- 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] Scheduled Downtime Woes
On Thursday, April 7, 2011 9:41:55 AM UTC+1, Las wrote: 2011/4/7 Simon Knott knott...@gmail.com Hi, As Las has said, it's a global service - the middle of the day downtime for you was early morning downtime for me! I guess it would be better if the scheduled downtime was staggered, so that it impacted a different set of applications each time, but I'm guessing Google are constrained with resources. Have you considered moving to an HR application, so that the planned downtime doesn't impact you? This is a good idea and my gut feeling is telling me it should be possible. You could basically specify your apps geographical availability (say by continent) and Google could group apps onto a set of nodes using these hints. Maintenance would take place by regions. I'm not sure how much control the GAE folks have over the underlying storage infrastructure though. I must admit I was thinking of something simpler, such as: April 5th downtime: 5pm PST April 20th downtime: 7pm PST etc, etc. Las, as far as I'm aware all of the GAE servers are in North America and aren't distributed around the globe. Too bad :) Cheers, Simon -- 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-a...@googlegroups.com. To unsubscribe from this group, send email to google-appengi...@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_appserver.py datastore in Python SDK 1.4.3
Hi, I have an app which uses the traditional [non-sql] datastore. I've just migrated from 1.4.2 to 1.4.3 and noticed the following info message on dev_appserver.py startup rdbms_sqlite.py:58] Connecting to SQLite database '' with file '/tmp/ dev_appserver.rdbms' rdbms_sqlite.py seems to be a new file in package google.appengine.api Has the default datastore behaviour changed somehow ? Can't see anything in 1.4.3 release notes Thanks! -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
[google-appengine] Datastore admin stuck
Hi - I'm deleting all entities from a new app using the datastore admin page. It has been stuck with a status of Active (9 steps completed, 5 active) for several hours now. Can someone from Google please reset it, or tell me what I need to do to reset it? Cheers Greg. -- 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: queue.xml does not validate against .xsd
Thanks! It helped me. -N On Mar 17, 10:25 am, Christopher Hilla christopher.hi...@gmail.com wrote: I found adding the total-storage-limit element without newlines resolved this issue for me. For example: queue-entries total-storage-limit50M/total-storage-limit queue ... may resolve your issue. Hope that helps, --Chris On Tue, Mar 15, 2011 at 8:43 AM, Brian Lim brian.lim...@gmail.com wrote: This is the error upon deployment: An internal error occurred during: Deploying ResponderDs to Google. XML error validating /home/brian/javawork/ResponderDs/war/WEB-INF/queue.xml against /home/brian/.eclipse/org.eclipse.platform_3.5.0_155965261/plugins/com.googl e.appengine.eclipse.sdkbundle.1.4.2_1.4.2.v201102111810/appengine-java-sdk- 1.4.2/docs/queue.xsd !-- queue.xml -- queue-entries total-storage-limit 50M /total-storage-limit queue namedefault/name rate100/s/rate bucket-size10/bucket-size max-concurrent-requests15/max-concurrent-requests retry-parameters task-retry-limit4/task-retry-limit task-age-limit5m/task-age-limit min-backoff-seconds10/min-backoff-seconds max-backoff-seconds20/max-backoff-seconds /retry-parameters /queue /queue-entries My question is: where is the documentation that says what is wrong with this queue configuration? -- 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] Blocked in China?
Hi, Our friends in China have problems to access *.appspot.com domains. Is this temporary problem or does China tend to ban Google stuff with a big hand? Also Google Groups seem to be unreachable from the location. -- 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] Blocked in China?
does China tend to ban Google stuff with a big hand? Yes. They can't block one (or few) specific applications, so end up blocking every application. -- 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: remote file download
I want the app to work like a kind of proxy. The whole point is for the client not to actually hit the remote site as I say, I'm quite happy to make this a 2 phase thing where: Phase 1: With the first request to pull the file from the remote server and store it via BlobStore (maybe display a blob key) Phase 2: With a second request download the file to the client (using the blob key) On Apr 7, 9:55 am, Phil Young p...@philyoung.org.uk wrote: Why don't you just redirect them to the file and let the hosting server serve it directly? i.e. self.redirect(urlStr) Phil On 6 April 2011 14:47, fstof frans.stofb...@gmail.com wrote: Hi, I'm looking for a way that I can open a URLConnection to a file on the internet and serve it directly to the browser. something like this (normal servlet) String urlStr = req.getParameter(dl); URL url = new URL(urlStr); URLConnection con = url.openConnection(); InputStream is = con.getInputStream(); resp.setContentType(con.getContentType()); resp.setHeader(Content-Disposition, attachment; filename= + url.getFile()); OutputStream os = resp.getOutputStream(); byte[] buff = new byte[1024]; while (is.read(buff) != -1) { os.write(buff); } os.flush(); os.close(); Now this works fine for smaller files, but the moment the files are larger than 1Mb GAE blocks the Connection to the remote file. now I was thinking of rather than streaming directly to the browser client. would it be possible to download the file to the GAE BlobStore? Any thoughts -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
Re: [google-appengine] Re: CSV in Appengine!
Python has a CSV reader that does things like escape characters: http://docs.python.org/library/csv.html Ikai Lan Developer Programs Engineer, Google App Engine Blog: http://googleappengine.blogspot.com Twitter: http://twitter.com/app_engine Reddit: http://www.reddit.com/r/appengine On Thu, Apr 7, 2011 at 9:58 AM, Phil Young p...@philyoung.org.uk wrote: I think he's already got the data he want, just needs to extract the individual fields from the CSV data. The split function will be a simple way to achieve this. e.g. strArray = strInputLine.split(',') strPlace = strArray[0] strXcoord = strArray[1] etc. HTH Phil On 6 April 2011 18:13, Barry Hunter barrybhun...@gmail.com wrote: You need to use a geocoder (well technically a reverse geocoder). That will most probably be connecting to an external webservice, such as geonames, or the one in the Google Maps API. (note if you use the Google Maps API one, you must use teh data to shown a Google Map on your site) It could be a geocoder you have locally in your application, I dont know any coded in python off hand, but you would also need to source the data to power it. On 6 April 2011 15:51, Massimiliano massimiliano.pietr...@gmail.comwrote: I'm not afraid how to import the CSV. I don't know how to manage the data to obtain the city and country with the coordinates! 2011/4/6 JH jamesthop...@gmail.com Max, There is a nice python library called xlwt, I'm sure you can find it via Google. It lets you read and write Microsoft Excel files. Cheers On Apr 6, 9:07 am, Massimiliano massimiliano.pietr...@gmail.com wrote: Hi, can someone help me? A big problem for me, I hope easy for you. I have a file xls (I can convert it in CSV) like this: Place Coordinates Place1 1,2 Place2 3,4 Place3 5,6 Place4 7,8 and so on... and I want to store it in appengine like this: Place Country City Coordinates ... How can I do it? Can someone share a python code to do this? Thanks Max --www.themaxbuddies.com -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en. -- www.themaxbuddies.com -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en. -- 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: CSV in Appengine!
Thanks Ikai, but the problem is to obtain the city and the country from the coordinates. Max 2011/4/7 Ikai Lan (Google) ika...@google.com Python has a CSV reader that does things like escape characters: http://docs.python.org/library/csv.html Ikai Lan Developer Programs Engineer, Google App Engine Blog: http://googleappengine.blogspot.com Twitter: http://twitter.com/app_engine Reddit: http://www.reddit.com/r/appengine On Thu, Apr 7, 2011 at 9:58 AM, Phil Young p...@philyoung.org.uk wrote: I think he's already got the data he want, just needs to extract the individual fields from the CSV data. The split function will be a simple way to achieve this. e.g. strArray = strInputLine.split(',') strPlace = strArray[0] strXcoord = strArray[1] etc. HTH Phil On 6 April 2011 18:13, Barry Hunter barrybhun...@gmail.com wrote: You need to use a geocoder (well technically a reverse geocoder). That will most probably be connecting to an external webservice, such as geonames, or the one in the Google Maps API. (note if you use the Google Maps API one, you must use teh data to shown a Google Map on your site) It could be a geocoder you have locally in your application, I dont know any coded in python off hand, but you would also need to source the data to power it. On 6 April 2011 15:51, Massimiliano massimiliano.pietr...@gmail.comwrote: I'm not afraid how to import the CSV. I don't know how to manage the data to obtain the city and country with the coordinates! 2011/4/6 JH jamesthop...@gmail.com Max, There is a nice python library called xlwt, I'm sure you can find it via Google. It lets you read and write Microsoft Excel files. Cheers On Apr 6, 9:07 am, Massimiliano massimiliano.pietr...@gmail.com wrote: Hi, can someone help me? A big problem for me, I hope easy for you. I have a file xls (I can convert it in CSV) like this: Place Coordinates Place1 1,2 Place2 3,4 Place3 5,6 Place4 7,8 and so on... and I want to store it in appengine like this: Place Country City Coordinates ... How can I do it? Can someone share a python code to do this? Thanks Max --www.themaxbuddies.com -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com . To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en. -- www.themaxbuddies.com -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en. -- 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. -- www.themaxbuddies.com -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
Re: [google-appengine] Re: CSV in Appengine!
As long as you're only interested in *displaying* the city, and not querying on it, one sneaky solution would be to do the lookup in Javascript, using the clients processing power and not your App, using an API like SimpleGeo's or Google's reverse geocoder: https://simplegeo.com/docs/api-endpoints/simplegeo-places Less sneaking, SimpleGeo has a python client (has anyone used it?): https://simplegeo.com/docs/clients-code-libraries/python On Thu, Apr 7, 2011 at 8:49 AM, Massimiliano massimiliano.pietr...@gmail.com wrote: Thanks Ikai, but the problem is to obtain the city and the country from the coordinates. Max 2011/4/7 Ikai Lan (Google) ika...@google.com Python has a CSV reader that does things like escape characters: http://docs.python.org/library/csv.html Ikai Lan Developer Programs Engineer, Google App Engine Blog: http://googleappengine.blogspot.com Twitter: http://twitter.com/app_engine Reddit: http://www.reddit.com/r/appengine On Thu, Apr 7, 2011 at 9:58 AM, Phil Young p...@philyoung.org.uk wrote: I think he's already got the data he want, just needs to extract the individual fields from the CSV data. The split function will be a simple way to achieve this. e.g. strArray = strInputLine.split(',') strPlace = strArray[0] strXcoord = strArray[1] etc. HTH Phil On 6 April 2011 18:13, Barry Hunter barrybhun...@gmail.com wrote: You need to use a geocoder (well technically a reverse geocoder). That will most probably be connecting to an external webservice, such as geonames, or the one in the Google Maps API. (note if you use the Google Maps API one, you must use teh data to shown a Google Map on your site) It could be a geocoder you have locally in your application, I dont know any coded in python off hand, but you would also need to source the data to power it. On 6 April 2011 15:51, Massimiliano massimiliano.pietr...@gmail.comwrote: I'm not afraid how to import the CSV. I don't know how to manage the data to obtain the city and country with the coordinates! 2011/4/6 JH jamesthop...@gmail.com Max, There is a nice python library called xlwt, I'm sure you can find it via Google. It lets you read and write Microsoft Excel files. Cheers On Apr 6, 9:07 am, Massimiliano massimiliano.pietr...@gmail.com wrote: Hi, can someone help me? A big problem for me, I hope easy for you. I have a file xls (I can convert it in CSV) like this: Place Coordinates Place1 1,2 Place2 3,4 Place3 5,6 Place4 7,8 and so on... and I want to store it in appengine like this: Place Country City Coordinates ... How can I do it? Can someone share a python code to do this? Thanks Max --www.themaxbuddies.com -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en. -- www.themaxbuddies.com -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com . To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en. -- 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. -- www.themaxbuddies.com -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to
[google-appengine] Re: Scheduled Downtime Woes
On Apr 7, 4:41 am, László Török ltoro...@gmail.com wrote: This is a good idea and my gut feeling is telling me it should be possible. You could basically specify your apps geographical availability (say by continent) and Google could group apps onto a set of nodes using these hints. Maintenance would take place by regions. I'm not sure how much control the GAE folks have over the underlying storage infrastructure though. Considering all of the data for the whole master-slave datastore is believed to be stored in a single BigTable in a single datacenter somewhere in California, this could be tricky. -- 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] Getting a lot of commit failures
org.datanucleus.transaction.Transaction commit: Operation commit failed on resource: org.datanucleus.store.appengine.DatastoreXAResource@153170a, error code UNKNOWN and transaction: [DataNucleus Transaction, ID=Xid= I'm getting a lot of the above error in my logs. I'm on the master/ slave datastore. It's happening every few minutes. -Nischal -- 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: Scheduled Downtime Woes
On Apr 7, 4:41 am, László Török ltoro...@gmail.com wrote: This is a good idea and my gut feeling is telling me it should be possible. You could basically specify your apps geographical availability (say by continent) and Google could group apps onto a set of nodes using these hints. Maintenance would take place by regions. I'm not sure how much control the GAE folks have over the underlying storage infrastructure though. Considering all of the data for the whole master-slave datastore is believed to be stored in a single BigTable in a single datacenter somewhere in California, this could be tricky. That doesn't say anything about how that single BigTable is distributed across nodes. I've have seen reports stating that update operations failed on a certain number of entity groups. This suggests some nodes were failing on which those entity groups where stored. This nothing more, just speculation as I'm not on Google's engineering team, but thinking of a single BigTable as one monolithic entity is naive... :) Maybe someone from the GAE Team can shed light on this matter. -- 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: Scheduled Downtime Woes
Yes, we'd love to do that at some point in the future - pick a general area where your apps would exist, and we'd run them from those nodes. I suspect that if we ever did this feature and you wanted to move to a new cluster, that you would have to run the datastore migration tool (similar to what it would take to move from MS - HR), and if you're going to do this, why not just move to high replication? When wooble mentions a single Bigtable, what he means is a cluster of Bigtable nodes, which consists of data stored on multiple Bigtable tablets. A single Bigtable is just the way we logically talk about Bigtables: http://code.google.com/appengine/articles/storage_breakdown.html The silver lining here about these two maintenance periods is that the next maintenance period should be far off. The reason we needed to do these read-only periods won't resurface anytime soon. Since I know somebody is going to ask: I'm not 100% how long before we have to do another maintenance period. My guess is a few months. Keep an eye on the downtime notify list. Ikai Lan Developer Programs Engineer, Google App Engine Blog: http://googleappengine.blogspot.com Twitter: http://twitter.com/app_engine Reddit: http://www.reddit.com/r/appengine On Thu, Apr 7, 2011 at 3:52 PM, László Török ltoro...@gmail.com wrote: On Apr 7, 4:41 am, László Török ltoro...@gmail.com wrote: This is a good idea and my gut feeling is telling me it should be possible. You could basically specify your apps geographical availability (say by continent) and Google could group apps onto a set of nodes using these hints. Maintenance would take place by regions. I'm not sure how much control the GAE folks have over the underlying storage infrastructure though. Considering all of the data for the whole master-slave datastore is believed to be stored in a single BigTable in a single datacenter somewhere in California, this could be tricky. That doesn't say anything about how that single BigTable is distributed across nodes. I've have seen reports stating that update operations failed on a certain number of entity groups. This suggests some nodes were failing on which those entity groups where stored. This nothing more, just speculation as I'm not on Google's engineering team, but thinking of a single BigTable as one monolithic entity is naive... :) Maybe someone from the GAE Team can shed light on this matter. -- 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: Scheduled Downtime Woes
The next scheduled maintenance period is in ~2 weeks time apparently - Wednesday, 2011 April 20, 5pm (1700) PDT/ 12m () Thursday, 2011 April 21 GMT (from https://groups.google.com/d/msg/google-appengine-downtime-notify/sRTOF2ErN1E/_NU4r-DsUPYJ) -- 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: SDK 1.4.3 has been released!
Hey Ikai, Thanks for the explanation about the pending queue, I think that may be the most information I've ever seen about how that process works. It would be great to have that information included somewhere in the docs. At the minimum it can help understand certain behaviors we see sometimes. Robert On Thu, Apr 7, 2011 at 04:13, Ikai Lan (Google) ika...@google.com wrote: Wow, thanks for the feedback. Does anyone here have a negative experience with thread-safe? I'm asking because we had received some feedback that this resulted in poorer performance. We don't believe this should be the case at all and want to track down if and why this happens. One huge benefit of concurrent requests should be a drastic decrease in Request was aborted errors. The reason that error occurs is because a request sits in a pending queue waiting to be served and times out after X seconds, where X is close to 10. When a new request comes in, we try to figure out if it would be faster to spin up a new instance or place it into a pending queue based on a sliding window of recent request pending wait times. Since Java apps tend take on the order of a few seconds to start up, this can cause us to very heavily favor putting requests into pending queues instead of spinning up new instances. With concurrent requests, your instances are far less likely to block on long running requests (say most of your requests make Facebook API calls and the API just happens to be slow at that time), which should result in a higher threshold before causing requests to back up in your pending queue. Always on for Java now guarantees a concurrency of 3 * (number of concurrent requests an instance can handle), which is a HUGE win. Ikai Lan Developer Programs Engineer, Google App Engine Blog: http://googleappengine.blogspot.com Twitter: http://twitter.com/app_engine Reddit: http://www.reddit.com/r/appengine On Thu, Apr 7, 2011 at 12:58 AM, Sérgio Lopes slo...@gmail.com wrote: I've been using GAE 1.4.3 with thread-safe on and AlwaysOn for a few days. And my conclusion is that it almost solves all Cold Start problems we were used to. Now I have fewer instances warmups and most of them are /_ah/warmup request with no user suffering. In my tests, I had instances lasting more than 40 hours! Nice work, AppEngine team! -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
[google-appengine] Re: Google App Engine facebook community page
Is that page endorsed by the GAE team? I think it should be clearly stated, on the page info, who manages it! On Apr 7, 10:25 am, mova77 marco.vana...@gmail.com wrote: Hi everybody! I'm happy to announce the brand new Google App Engine community page for facebook addicted dudes! :) http://on.fb.me/fb-gae Enjoy it! mova77 -- 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: Scheduled Downtime Woes
If you are actively developing, moving to HR is definitely the way to go. Everyone talks about the cost, but most of that is on the storage side of the house, which in most apps shouldn't be the majority of your bill. (there are exceptions). Across my sets of applications we are now serving 100 QPS pretty much 24/7 and HR has performed wonderfully. From: google-appengine@googlegroups.com [mailto:google-appengine@googlegroups.com] On Behalf Of Simon Knott Sent: Thursday, April 07, 2011 7:34 AM To: google-appengine@googlegroups.com Subject: Re: [google-appengine] Re: Scheduled Downtime Woes The next scheduled maintenance period is in ~2 weeks time apparently - Wednesday, 2011 April 20, 5pm (1700) PDT/ 12m () Thursday, 2011 April 21 GMT (from https://groups.google.com/d/msg/google-appengine-downtime-notify/sRTOF2ErN1E /_NU4r-DsUPYJ) -- 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: How do I change to the High Replication datastore and keep my app id?
Oh, right. Duh. Carry on :) Jeff On Wed, Apr 6, 2011 at 4:18 PM, Greg g.fawc...@gmail.com wrote: On Apr 7, 11:03 am, Jeff Schnitzer j...@infohazard.org wrote: How did you get appids less than 6 characters? I'm guessing 'X' and 'Y' are replaced with longer words. -- 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: How do I change to the High Replication datastore and keep my app id?
Or he was an early adopter, did you see the thread a few days back with an app named d. Even the Google Guys didn't believe it. -Original Message- From: google-appengine@googlegroups.com [mailto:google-appengine@googlegroups.com] On Behalf Of Jeff Schnitzer Sent: Thursday, April 07, 2011 10:13 AM To: google-appengine@googlegroups.com Subject: Re: [google-appengine] Re: How do I change to the High Replication datastore and keep my app id? Oh, right. Duh. Carry on :) Jeff On Wed, Apr 6, 2011 at 4:18 PM, Greg g.fawc...@gmail.com wrote: On Apr 7, 11:03 am, Jeff Schnitzer j...@infohazard.org wrote: How did you get appids less than 6 characters? I'm guessing 'X' and 'Y' are replaced with longer words. -- 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: SDK 1.4.3 has been released!
Hi Ikai! I didn't notice any performance issue here. However I'm experiencing a lot of errors lately during instance startup. I've AlwaysOn and the Instances panel clearly shows that 2 instances are always ok, with a large Age. But one of those instances is constantly being shut down and restarting a lot. There are also many startup requests with error 500. The error messages usually are: The process handling this request unexpectedly died. This is likely to cause a new process to be used for the next request to your application. (Error code 203) or java.lang.NullPointerException at java.lang.Class.isAssignableFrom(Native Method) at org.mortbay.jetty.servlet.ServletHolder.doStart(ServletHolder.java:256) . A serious problem was encountered with the process that handled this request, causing it to exit. This is likely to cause a new process to be used for the next request to your application. If you see this message frequently, you may be throwing exceptions during the initialization of your application. (Error code 104) or Uncaught exception from servlet javax.servlet.UnavailableException: Initialization failed. at com.google.apphosting.runtime.jetty.AppVersionHandlerMap.createHandler(AppVersionHandlerMap.java:200) at com.google.apphosting.runtime.jetty.AppVersionHandlerMap.getHandler(AppVersionHandlerMap.java:168) -- 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: SDK 1.4.3 has been released!
Are you using Master/Slave or HR? 2011/4/7 Sérgio Lopes slo...@gmail.com: Hi Ikai! I didn't notice any performance issue here. However I'm experiencing a lot of errors lately during instance startup. I've AlwaysOn and the Instances panel clearly shows that 2 instances are always ok, with a large Age. But one of those instances is constantly being shut down and restarting a lot. There are also many startup requests with error 500. The error messages usually are: The process handling this request unexpectedly died. This is likely to cause a new process to be used for the next request to your application. (Error code 203) or java.lang.NullPointerException at java.lang.Class.isAssignableFrom(Native Method) at org.mortbay.jetty.servlet.ServletHolder.doStart(ServletHolder.java:256) . A serious problem was encountered with the process that handled this request, causing it to exit. This is likely to cause a new process to be used for the next request to your application. If you see this message frequently, you may be throwing exceptions during the initialization of your application. (Error code 104) or Uncaught exception from servlet javax.servlet.UnavailableException: Initialization failed. at com.google.apphosting.runtime.jetty.AppVersionHandlerMap.createHandler(AppVersionHandlerMap.java:200) at com.google.apphosting.runtime.jetty.AppVersionHandlerMap.getHandler(AppVersionHandlerMap.java:168) -- 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: SDK 1.4.3 has been released!
Master/Slave. But the exceptions don't seem to be related do datastore. Most errors are with /_ah/warmup requests, and my startup process doesn't touch the datastore. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
Re: [google-appengine] Channel API ClientID error
Thanks!I was indeed using token instead of clientId. -- 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: Google App Engine facebook community page
is it google appengine community page on facebook or google appengine facebook community page, is it a community for people who use appengine for facebook, its a bit misleading this way too On Apr 7, 8:06 pm, Claude Vedovini cla...@vedovini.net wrote: Is that page endorsed by the GAE team? I think it should be clearly stated, on the page info, who manages it! On Apr 7, 10:25 am, mova77 marco.vana...@gmail.com wrote: Hi everybody! I'm happy to announce the brand new Google App Engine community page for facebook addicted dudes! :) http://on.fb.me/fb-gae Enjoy it! mova77 -- 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: Scheduled Downtime Woes
Well, I'd say the 3x increase in CPU time is a pretty important factor. Probably a much more important factor than the storage cost increase. On Thu, Apr 7, 2011 at 13:10, Brandon Wirtz drak...@digerat.com wrote: If you are actively developing, moving to HR is definitely the way to go. Everyone talks about the cost, but most of that is on the storage side of the house, which in most apps shouldn’t be the majority of your bill. (there are exceptions). Across my sets of applications we are now serving 100 QPS pretty much 24/7 and HR has performed wonderfully. From: google-appengine@googlegroups.com [mailto:google-appengine@googlegroups.com] On Behalf Of Simon Knott Sent: Thursday, April 07, 2011 7:34 AM To: google-appengine@googlegroups.com Subject: Re: [google-appengine] Re: Scheduled Downtime Woes The next scheduled maintenance period is in ~2 weeks time apparently - Wednesday, 2011 April 20, 5pm (1700) PDT/ 12m () Thursday, 2011 April 21 GMT (from https://groups.google.com/d/msg/google-appengine-downtime-notify/sRTOF2ErN1E/_NU4r-DsUPYJ) -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
[google-appengine] Re: How to block Google App Engine?
lol On Apr 7, 8:46 am, Sudhir sudhi...@gmail.com wrote: Yeah, I think this is trolling. I think the easiest and most efficient way to solve the problems he's facing is to block all IPs that match the 0.0.0.0 mask, and also blacklist all user agents that have length 0. Should work like a charm. Sudhir On Apr 7, 4:42 am, JH jamesthop...@gmail.com wrote: trolling? On Apr 6, 3:51 am, Álvaro Degives-Más adegives...@gmail.com wrote: In my case, I have both; the API isn't one particularly apt for user authentication (i.e. I'm not looking at limiting users to a somehow pre-accredited group) but more for *validation*, in a more or less trivial sense. The thing is, as I'm essentially seeing that trivial doesn't exist, the API is going to be axed, even though I was trying to avoid that. As to the scraping issue, you're quite right; the solution is a walled garden. Even so, the big three are fingerprinted so as to exclude non-SE access, as well as access to unauthorized bits (fortunately, the big three are quite tolerant now toward getting smacked with a 403). -- 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: Happy Birthday Google App Engine !!
+1 On Apr 7, 7:17 am, Rajkumar Radhakrishnan r.rajku...@gmail.com wrote: Hi, It is now 3 years since Google App Engine was first released. *Happy Birthday Google App Engine !!* A warm thanks to folks at Google, for continuing to make Google App Engine better and for your support in the developer groups and in other forums. Keep up the good work !! For me, *Google App Engine is like integration point for so many other Google Services.* I work on a online application builder over Google App Engine : iFreeTools Creator http://creator.ifreetools.com/, which enables building customizable database apps, by defining entities and attributes. iFreeTools Creator, over Google App Engine, enables integration with the following Google services.. * Google Contacts (import contacts to any custom database table having an email-id fields, after defining a field mapping and uploading of contacts). * Google Docs (attach documents to any database record) * Google Maps (mark and search records based on geographic locations) * Google Apps (supports login using Google Apps user accounts, using Google App Engine's federated login feature, and mapping to sub-domain from Google Apps dashboard). The application also uses the following Google services.. * Google Visualizations (table and chart views) * Google Analytics * Google AdSense // hope, I did not miss some service. Upcoming integrations / support : * Google Calendar * Gmail (from within gadgets) * Android Of course.. more integrations are possible from within GAE, given the extensive GData APIs available, but these are based on what the current users have requested from my app. So, Google App Engine should be proud that it can enable developers to integrate-with and use so many other Google services, from within its service. Thank you once again. Thanks Regards, R.Rajkumar -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
[google-appengine] Re: Query.count(1) vs. Query.get()
Ah, thanks. You're also introducing a potential synchronization/concurrency issue. What do you mean? On Apr 6, 9:08 pm, Nick Johnson (Google) nick.john...@google.com wrote: Hi Jordon, Calling .get() and checking if the result is None is more efficient. Calling count executes the query, and calling get executes it again, so doing it that way you're pointlessly duplicating the effort. You're also introducing a potential synchronization/concurrency issue. -Nick Johnson On Thu, Apr 7, 2011 at 9:49 AM, Jordon Wii jordon...@gmail.com wrote: Hi guys, Which of the following is more efficient: Using Query.count(1) to test, then using .get() if there is a result: --- q = MyModel.all().filter(field =, value) count = q.count(1) if count: result = q.get() do_stuff(result) else: create_entity() Or just calling .get(): --- result = MyModel.all().filter(field =, value).get() if result: do_stuff(result) else: create_entity() - The first one saves resources by not fetching the entity unless it has to, whereas the second one calls .get() no matter what, but doesn't use .count() -- 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: Scheduled Downtime Woes
I'll do a case study later, but we got rid of $3k a month of hosting from Atlas and replaced it with $.40 a day worth or Appengine on HR. -Original Message- From: google-appengine@googlegroups.com [mailto:google-appengine@googlegroups.com] On Behalf Of Robert Kluin Sent: Thursday, April 07, 2011 12:23 PM To: google-appengine@googlegroups.com Subject: Re: [google-appengine] Re: Scheduled Downtime Woes Well, I'd say the 3x increase in CPU time is a pretty important factor. Probably a much more important factor than the storage cost increase. On Thu, Apr 7, 2011 at 13:10, Brandon Wirtz drak...@digerat.com wrote: If you are actively developing, moving to HR is definitely the way to go. Everyone talks about the cost, but most of that is on the storage side of the house, which in most apps shouldn’t be the majority of your bill. (there are exceptions). Across my sets of applications we are now serving 100 QPS pretty much 24/7 and HR has performed wonderfully. From: google-appengine@googlegroups.com [mailto:google-appengine@googlegroups.com] On Behalf Of Simon Knott Sent: Thursday, April 07, 2011 7:34 AM To: google-appengine@googlegroups.com Subject: Re: [google-appengine] Re: Scheduled Downtime Woes The next scheduled maintenance period is in ~2 weeks time apparently - Wednesday, 2011 April 20, 5pm (1700) PDT/ 12m () Thursday, 2011 April 21 GMT (from https://groups.google.com/d/msg/google-appengine-downtime-notify/sRTOF 2ErN1E/_NU4r-DsUPYJ) -- 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] How to read byte by byte from a Datastore Entity Object
Here is my summary after series of trials 1. I can't use the Blobstore api because I'm using GWT for the view 2. From my understanding of the Fileservice API, it requires that I need to have gotten the bytes of the data before it can be written to the FileWriteChannel. One option is through the Blobstore API, but like I said, I'm unable to use Blobstore with GWT. Though it is possible via RPC, but its implementation will allow a refresh to another url such as /serve?blob-key. This will break my design design pattern as all I want is that after the upload, the user remains on the same GWT Place. I don't know how to do this. I need help. 3. I tried to the following code, but i wasn't able to persist the bytes in the buffer: protected void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { HttpSession session = request.getSession(); log.info(request.toString()); try { ServletFileUpload upload = new ServletFileUpload(); response.setContentType(multipart/form-data); FileItemIterator iterator = upload.getItemIterator(request); while (iterator.hasNext()) { FileItemStream item = iterator.next(); InputStream stream = item.openStream(); log.info(logging stream + stream.toString()); if (item.isFormField()) { log.warning(Got a form field: + item.getFieldName()); } else { log.warning(Got an uploaded file: + item.getFieldName() + , name = + item.getName()); int len; byte[] buffer = new byte[10]; len = stream.read(buffer, 0, buffer.length); ListingFile listingfile = new ListingFile(); listingfile.setTitle(item.getName()); listingfile.setImageType(item.getContentType()); listingfile.setImage(buffer); // setImage holds byte[] in the Entity. Couldn't be persisted PersistenceManager pm = PMF.get().getPersistenceManager(); try { pm.makePersistent(listingfile); } finally { pm.close(); } } } } catch (Exception ex) { throw new ServletException(ex); } } Regards On Thu, Apr 7, 2011 at 5:48 AM, Robert Kluin robert.kl...@gmail.com wrote: Hi, You can't stream data from App Engine. The response is buffered until your servlet returns before sending the response. http://code.google.com/appengine/docs/java/runtime.html#Responses You might want to look at using the Blobstore. As Simon mentioned, check out the FileService, perhaps it would be useful for building the blobs. Robert On Wed, Apr 6, 2011 at 08:23, Kayode Odeyemi drey...@gmail.com wrote: Hello, In a nutshell, since GAE cannot write to a filesystem, I have decided to persist my data into the datastore (using JDO). Now, I will like to retrieve the data byte by byte and pass it to the client as an input stream. There's code from the gwtupload library (see below) which breaks on GAE because it writes to the system filesystem. I'll like to be able to provide a GAE ported solution. public static void copyFromInputStreamToOutputStream(InputStream in, OutputStream out) throws IOException { byte[] buffer = new byte[10]; while (true) { synchronized (buffer) { int amountRead = in.read(buffer); if (amountRead == -1) { break; } out.write(buffer, 0, amountRead); } } in.close(); out.flush(); out.close(); } One work around I have tried (didn't work) is to retrieve the data from the datastore as a resource like this: InputStream resourceAsStream = null; PersistenceManager pm = PMF.get().getPersistenceManager(); try { Query q = pm.newQuery(ImageFile.class); lf = q.execute(); resourceAsStream = getServletContext().getResourceAsStream((String) pm.getObjectById(lf)); } finally { pm.close(); } if (lf != null) { response.setContentType(receivedContentTypes.get(fieldName)); copyFromInputStreamToOutputStream(resourceAsStream, response.getOutputStream()); } I welcome your suggestions. Regards -- Odeyemi 'Kayode O. http://www.sinati.com -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to
Re: RE: [google-appengine] Re: Scheduled Downtime Woes
Agree with Robert CPU 3x cost is definitely what gets most of us in the end. Although 0.45c/GB on storage side is expensive too. Also remember we are in an introductory pricing period according to initial HR announcement. Permanent pricing will be announced in summer 2011. -- 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: HItting query limit using Geocoding API from App Engine
IMHO a proxy will complicate things. What about if GAE team gets in touch with maps V3 team and explain to them the issue so may be they can rate limit all GAE originated appls by app id which is a very secure method since app id can't be hacked ? @Joe sorry my api isn't that useful in your case. Regards Nick On Apr 7, 1:06 am, Brandon Wirtz drak...@digerat.com wrote: Use a Proxy. Then you can come through your own IP-pool. From: google-appengine@googlegroups.com [mailto:google-appengine@googlegroups.com] On Behalf Of Joe Tyson Sent: Wednesday, April 06, 2011 2:59 PM To: google-appengine@googlegroups.com Subject: Re: [google-appengine] Re: HItting query limit using Geocoding API from App Engine We are delegating some of that to the client now, but it is far less than ideal. Our client is mobile, so every byte that we send over can end up costing our users money (you would be surprised how sensitive some people are to this). Thanks for the resource, though. I wish country level would be enough information for us :-(. Doing some additional searching around, it looks this issue has been bought up by some other users on the maps forum: http://goo.gl/RyJ9w On Wednesday, April 6, 2011 at 2:44 PM, nickmilon wrote: May be you can delegate the geocoding job to the client side using js ? also you can take a look here :http://gaengine.blogspot.com/2010/11/world-countries-and-ip-geocoding... ml Nick ;-) On Apr 6, 7:25 pm, Joe Tyson joety...@gmail.com wrote: Hello, This seems to be more of a problem with the geocoding api than app engine, but I'm unable to get ahold of anyone on that team so I'll post here instead. The new Geocoding API doesn't do any form of url signing or api keys for non-premier accounts and resorts to using IP address to control quotas. Since App Engine uses a shared IP pool, my app gets clumped in the quota limitations of other apps. This must be a somewhat frequent problem for other apps, since 90% of my geocoding attempts get an 'OVER_QUERY_LIMIT' message. These last few days, it has been closer to 100% at 500-600 queries spread out over an 15-20 hours. I'll add that I don't think using a pool of IPs is at all the issue. Any large scale deployment would be hitting the Geocoding API from a pool of IPs, and if the pool were dedicated to a single service, the service would be circumventing the Geocoding API quotas anyway. Is anyone else on the list having this issue? Have you been able to work with the geocoding team to get auth tokens that don't require having a premier account? joe -- 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.
RE: [google-appengine] Re: HItting query limit using Geocoding API from App Engine
you get what you pay for I mean the GeoCoding API, not GAE. I think the more ideal scenario is GeoCoding and other Google API's should require registration and authentication. Similar to another thread about blocking all of GAE, in many cases GAE doesn't work with Free API's because of the IP limits and the number of people exploiting GAE as a Proxy. I will be the first to admit that my first Application on GAE was a simple URL proxy for gaining access to GAE's IP Address Pool. Us early grey hats peed in the pool and ruined things. (yes I suck but I'm trying to suck less). -Original Message- From: google-appengine@googlegroups.com [mailto:google-appengine@googlegroups.com] On Behalf Of nickmilon Sent: Thursday, April 07, 2011 3:21 PM To: Google App Engine Subject: [google-appengine] Re: HItting query limit using Geocoding API from App Engine IMHO a proxy will complicate things. What about if GAE team gets in touch with maps V3 team and explain to them the issue so may be they can rate limit all GAE originated appls by app id which is a very secure method since app id can't be hacked ? @Joe sorry my api isn't that useful in your case. Regards Nick On Apr 7, 1:06 am, Brandon Wirtz drak...@digerat.com wrote: Use a Proxy. Then you can come through your own IP-pool. From: google-appengine@googlegroups.com [mailto:google-appengine@googlegroups.com] On Behalf Of Joe Tyson Sent: Wednesday, April 06, 2011 2:59 PM To: google-appengine@googlegroups.com Subject: Re: [google-appengine] Re: HItting query limit using Geocoding API from App Engine We are delegating some of that to the client now, but it is far less than ideal. Our client is mobile, so every byte that we send over can end up costing our users money (you would be surprised how sensitive some people are to this). Thanks for the resource, though. I wish country level would be enough information for us :-(. Doing some additional searching around, it looks this issue has been bought up by some other users on the maps forum: http://goo.gl/RyJ9w On Wednesday, April 6, 2011 at 2:44 PM, nickmilon wrote: May be you can delegate the geocoding job to the client side using js ? also you can take a look here :http://gaengine.blogspot.com/2010/11/world-countries-and-ip-geocoding... ml Nick ;-) On Apr 6, 7:25 pm, Joe Tyson joety...@gmail.com wrote: Hello, This seems to be more of a problem with the geocoding api than app engine, but I'm unable to get ahold of anyone on that team so I'll post here instead. The new Geocoding API doesn't do any form of url signing or api keys for non-premier accounts and resorts to using IP address to control quotas. Since App Engine uses a shared IP pool, my app gets clumped in the quota limitations of other apps. This must be a somewhat frequent problem for other apps, since 90% of my geocoding attempts get an 'OVER_QUERY_LIMIT' message. These last few days, it has been closer to 100% at 500-600 queries spread out over an 15-20 hours. I'll add that I don't think using a pool of IPs is at all the issue. Any large scale deployment would be hitting the Geocoding API from a pool of IPs, and if the pool were dedicated to a single service, the service would be circumventing the Geocoding API quotas anyway. Is anyone else on the list having this issue? Have you been able to work with the geocoding team to get auth tokens that don't require having a premier account? joe -- 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.
Re: [google-appengine] Urlfetch CSV data and storing in Datastore entity is consuming too much CPU and Deadline Exceed Errors
Hi Sarfaraz, If you need to perserve existing properties, you should write your own transaction function, and do all the work in there. get_or_insert is simply a convenience function for this: entity = cls.get(key_name) if not entity: entity = cls(key_name, **kwargs) entity.put() return entity -Nick Johnson On Fri, Apr 8, 2011 at 9:43 AM, Sarfaraz sarfaraz.faroo...@gmail.comwrote: Thank you so much for the help Nick ! I still got a problem, I am not over writing all the properties there are some properties which are not changed by the CSV. If I follow the sample you gave me: entities = [] for row in rows: q = Quotes(key_name=cells[0]) # Fill in q, or pass the values as arguments to the constructor above entities.append(q) db.put(entities) The Other Properties are becoming None. If I use q = Quotes.get_by_key_name (key_name=cells[0]) Instead of q = Quotes(key_name=cells[0]) The other properties are not affected only those i wish to update from csv are updated. this works for me but when i run the cron every 1 minute its still utilizing 2% of cpu / hour. Can I improve on this ? Regards Warm Regards Sarfaraz Farooqui -- Strong and bitter words indicate a weak cause On Thu, Apr 7, 2011 at 7:33 AM, Nick Johnson (Google) nick.john...@google.com wrote: Hi Sarfaraz, Which sort of deadline exceeded error are you getting? If it's from the URLFetch call, you can increase the deadline; on offline requests (task queue and cron job) that can be up to 10 minutes. You can generally ignore the 'too much CPU' warning; there are no longer per-handler or per-page quotas, and offline requests may use as much CPU as they need (providing you have the quota for it!). You can improve the efficiency of your code, though: Instead of calling .put() in each iteration of the loop, batch the results up and store them with a single put call: entities = [] for row in rows: q = Quotes(key_name=cells[0]) # Fill in q, or pass the values as arguments to the constructor above entities.append(q) db.put(entities) The other modification, above, is to simply call the constructor instead of get_or_insert. get_or_insert executes a transaction to look for an existing entity, and insert one if it doesn't exist. You're simply overwriting all the values of the entity, though, so there's no need to fetch the old one or do it transactionally - you can simply create a new entity, overwriting any old data. -Nick Johnson On Thu, Apr 7, 2011 at 7:00 AM, Sarfaraz sarfaraz.faroo...@gmail.comwrote: Hi, I am running a cron every 5 minutes to get csv data (stock prices) from a url using urllib2. After splitting the data by Newline and Comma I am storing the data in datastore I am getting many deadlineexceed errors and warning messages that the cron uri uses a high amount of cpu and may soon exceed its quota I am attaching a few snapshots from my dashboard, and also pasting my code below for a review: is this Normal or I am doing somethign wrong. *Model* class Quotes(db.Model):#Symbol is stored as the key_name PriceDate = db.StringProperty() # I am using string here because i just show this value no calculations or sorting on this ignore it. Open = db.FloatProperty() High = db.FloatProperty() Low = db.FloatProperty() Last = db.FloatProperty() Change = db.FloatProperty() PerChange = db.FloatProperty() PrevClose = db.FloatProperty() Vol = db.IntegerProperty() Val = db.IntegerProperty() UpdatedOn = db.DateTimeProperty(auto_now=True) ** *Code for URL fetch, parsing and storing into datastore:* I get the csv data first which consists of 147 Rows and 9 Columns (comma seperated values) rows may increase in future First I split by New Line Charachter to get all Rows which are approx 147 Then I loop through each row and split it by comma to get column values (approx 9 columns) while looping for the rows I fetch an entity by using get_or_insert ( key_name ) then I update all the properties and call the put(). Please check the detailed code below ( I have removed error handling and logging stuff for brevity) These are a few lines from the csv data I recieve from the url. *** 1010,4/6/2011 3:32:01 PM,26.00,26.20,26.00,26.20,0.10,207359,5423720 1020,4/6/2011 3:32:01 PM,19.25,19.60,19.10,19.60,0.35,739595,14399067 1030,4/6/2011 3:32:01 PM,20.20,20.30,20.15,20.30,0.10,31833,643936 1040,4/6/2011 3:32:01 PM,30.40,30.80,30.40,30.80,0.00,10621,325830 1050,4/6/2011 3:32:01 PM,49.30,50.50,49.00,50.00,1.20,126361,6326252 *** HERE IS THE CODE url = http://www.example.com/somefile.ashx; result = urllib2.urlopen(url) result = result.read() rows = result.split(\n) for row in rows: cells = row.split(,) q = Quotes.get_or_insert( (str(cells[0])).strip() ) ##
[google-appengine] HTTP Error 403: Forbidden
I've got tons of tasks stuck in my queues that are getting a HTTPError: HTTP Error 403: Forbidden error. Is anyone else getting these? I'm not seeing anything in the system status that is a problem. -- 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] Being rate limited at twitter due to some rogue app on GAE, can u shift my app to different ip range?
Hi, My app has been facing limit issues with the twitter API and under regular circumstances this should not have happened. I've been in talks with the twitter API team from the last 36 hours and they checked things on their end. They say that the most probable cause is some app on the same ip range as my app which might be making a lot of requests causing my app to be rate limited in the process. I don't know what a quick solution to this is but I might have to move away from appengine because my app is unusable right now. My app has been running from the last 1 year on the appengine and has 200k+ users. I need your help :( My app id is justunfollow . Is there any way you can move it to a different ip range? -Nischal -- 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: Scheduled Downtime Woes
On Apr 7, 10:20 am, Ikai Lan (Google) ika...@google.com wrote: Yes, we'd love to do that at some point in the future - pick a general area where your apps would exist, and we'd run them from those nodes. I suspect that if we ever did this feature and you wanted to move to a new cluster, that you would have to run the datastore migration tool (similar to what it would take to move from MS - HR), and if you're going to do this, why not just move to high replication? I'm not that worried about running the migration tool. Should I be? I'm worried about the eventual consistency model of the high replication datastore. I want a user of our app to be able to create an object in the datastore and then be able to read it right away. -- Kyle Mulka Co-Founder, DealSavant http://www.dealsavant.com -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
[google-appengine] Re: Scheduled Downtime Woes
PS: I'm also worried about all the extra code I'm going to have to write to deal with the fact that the datastore may be inconsistant at times. On Apr 7, 9:50 pm, Kyle Mulka kyle.mu...@gmail.com wrote: On Apr 7, 10:20 am, Ikai Lan (Google) ika...@google.com wrote: Yes, we'd love to do that at some point in the future - pick a general area where your apps would exist, and we'd run them from those nodes. I suspect that if we ever did this feature and you wanted to move to a new cluster, that you would have to run the datastore migration tool (similar to what it would take to move from MS - HR), and if you're going to do this, why not just move to high replication? I'm not that worried about running the migration tool. Should I be? I'm worried about the eventual consistency model of the high replication datastore. I want a user of our app to be able to create an object in the datastore and then be able to read it right away. -- Kyle Mulka Co-Founder, DealSavanthttp://www.dealsavant.com -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
RE: [google-appengine] Being rate limited at twitter due to some rogue app on GAE, can u shift my app to different ip range?
Use a Proxy. -Original Message- From: google-appengine@googlegroups.com [mailto:google-appengine@googlegroups.com] On Behalf Of nischalshetty Sent: Thursday, April 07, 2011 6:34 PM To: Google App Engine Subject: [google-appengine] Being rate limited at twitter due to some rogue app on GAE, can u shift my app to different ip range? Hi, My app has been facing limit issues with the twitter API and under regular circumstances this should not have happened. I've been in talks with the twitter API team from the last 36 hours and they checked things on their end. They say that the most probable cause is some app on the same ip range as my app which might be making a lot of requests causing my app to be rate limited in the process. I don't know what a quick solution to this is but I might have to move away from appengine because my app is unusable right now. My app has been running from the last 1 year on the appengine and has 200k+ users. I need your help :( My app id is justunfollow . Is there any way you can move it to a different ip range? -Nischal -- 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: Scheduled Downtime Woes
Maintenance is nothing new. It has been around since day 1. Today we have a choice, so if you are that worried about maintenance use HR. Consistency can be dealt with by using ancestor queries. Also, remember a .get() will have Strong Consistency, only queries must have ancestors to have strong consistency. Also, in my experience almost every query has strong consistency within a few hundred milliseconds... So for me it was a no-brainer. I guess high usage apps may be bothered by the pricing, however I can see no other reason to not switch to HR asap. my 2 cents On Apr 7, 8:52 pm, Kyle Mulka kyle.mu...@gmail.com wrote: PS: I'm also worried about all the extra code I'm going to have to write to deal with the fact that the datastore may be inconsistant at times. On Apr 7, 9:50 pm, Kyle Mulka kyle.mu...@gmail.com wrote: On Apr 7, 10:20 am, Ikai Lan (Google) ika...@google.com wrote: Yes, we'd love to do that at some point in the future - pick a general area where your apps would exist, and we'd run them from those nodes. I suspect that if we ever did this feature and you wanted to move to a new cluster, that you would have to run the datastore migration tool (similar to what it would take to move from MS - HR), and if you're going to do this, why not just move to high replication? I'm not that worried about running the migration tool. Should I be? I'm worried about the eventual consistency model of the high replication datastore. I want a user of our app to be able to create an object in the datastore and then be able to read it right away. -- Kyle Mulka Co-Founder, DealSavanthttp://www.dealsavant.com -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
Re: [google-appengine] Scheduled Downtime Woes
I cannot agree more. Had I known this kind of downtime before, I would have not chosen GAE, at least not on MS datastore. Yes, I can switch to HR. Right now, my app costs about $2 a day, 1.99 is cpu charge. Plus, I need to create a new app, make the current datastore readonly, copy data over, do a couple rounds of tests, and adjust my reverse-proxy to point to the new app. I know I have to when dealing with the complains from customers becomes more painful than switching. Hopefully at that point, Google can make the switching just a button-click away... Yours, Will On Thu, Apr 7, 2011 at 2:48 PM, Kyle Mulka kyle.mu...@gmail.com wrote: Dear App Engine Team, No web application platform should have hour-long scheduled downtime periods in the middle of the day. Why does Google App Engine have these, and when will this no longer happen? And, while one response might be to switch to the high replication datastore, this should technically be possible to fix without sacrificing consistency. One fix that I would be satisfied with is to schedule the downtime in the middle of the night. Give me the option of when downtime can occur. If you need some inspiration, you could look over at that other cloud provider I'm considering switching to. http://aws.amazon.com/rds/faqs/#12 The downtime also wouldn't be as bad if it were only for a couple minutes. The other thing I want to point out is that scheduled downtime is different than unplanned downtime. Unplanned downtime is something you can't control, but it just frustrates me that you plan downtime in the middle of the day. This is the biggest reason for why I'm considering switching away from Google App Engine. Looking forward to hearing from the App Engine team. Thanks, -- Kyle Mulka Co-Founder, DealSavant http://www.dealsavant.com -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.