[appengine-java] Re: GAE down? Response Error 500
I am also getting many error 500 pages. This is happening since the issue I mentioned here: http://groups.google.com/group/google-appengine-java/browse_thread/thread/5368cc59ffc3b26b/50cc3ee1cf45c8d8#50cc3ee1cf45c8d8 --~--~-~--~~~---~--~~ 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] HttpSession handling question
Hi! I am using HttpSession to store some information as session attributes. When I am testing the application locally, it works fine. But when I upload it to production, it seems that any session attributes that I retrieve from the session and modify it are not persisted back to the session again, unless I specifically call HttpSession.setAttribute() in each request. I am not sure whether it is the expected behavior or it is bug. Here are the two test cases: Test1: public class Test_gae_sessionServlet extends HttpServlet { private static final String SESSION_ATTRIBUTE_NAME = test_session_attribute; public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException { HttpSession session = req.getSession(); resp.setContentType(text/plain); SessionContext sessionContext = (SessionContext) session.getAttribute (SESSION_ATTRIBUTE_NAME); resp.getWriter().println(session retreived: + sessionContext); if (sessionContext==null) { sessionContext = new SessionContext(); resp.getWriter().println(session created: + sessionContext); // calling setAttribute only when the object is first created resp.getWriter().println(putting context into session: + sessionContext); session.setAttribute(SESSION_ATTRIBUTE_NAME, sessionContext); } sessionContext.value++; resp.getWriter().println(context at end of retquest: + sessionContext); } } Test2: public class Test_gae_sessionServlet extends HttpServlet { private static final String SESSION_ATTRIBUTE_NAME = test_session_attribute; public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException { HttpSession session = req.getSession(); resp.setContentType(text/plain); SessionContext sessionContext = (SessionContext) session.getAttribute (SESSION_ATTRIBUTE_NAME); resp.getWriter().println(session retreived: + sessionContext); if (sessionContext==null) { sessionContext = new SessionContext(); resp.getWriter().println(session created: + sessionContext); } // calling setAttribute in every request resp.getWriter().println(putting context into session: + sessionContext); session.setAttribute(SESSION_ATTRIBUTE_NAME, sessionContext); sessionContext.value++; resp.getWriter().println(context at end of retquest: + sessionContext); } } The object stored in the session: public class SessionContext implements Serializable { private static final long serialVersionUID = -5151175222401820614L; public int value = 0; @Override public String toString() { return SessionContext [value= + value + ]; } } In Test1 it is always the first version of the SessionContext that is retreived in each request, no matter that I try to change its contents during each request. Test2 works as expected. Is it so that I need to call HttpSession.setAttribute() for any object that is expected to change during the request? Is it according to the servlet specification? Marton --~--~-~--~~~---~--~~ 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] querying using ANCESTOR IS
I'm getting an error when trying to filter on ANCESTOR IS locally in Eclipse. Anyone know what might be the problem? Does anyone have a working example? Am I forced to use the Low-Level API? The code is: PersistenceManager pm = PMF.get().getPersistenceManager(); Transaction tx = pm.currentTransaction(); try { tx.begin(); Query query = pm.newQuery(ChildClass.class, WHERE ANCESTOR IS pAnc + parameters com.google.appengine.api.datastore.Key pAnc); try { Key ancesterKey = ParentClass.generateKey(accountId) .getKey(); IterableChildClass queryResults = (IterableChildClass) query .execute(ancesterKey, startDate, endDate); ... It errors on the execute() method. I currently have no data stored yet. Can Google update the docs with a full example? Portion of expression could not be parsed: ANCESTOR IS pAnc parameters com.google.appengine.api.datastore.Key pAnc My code returns the error as JSON to the browser: {errorMessage:Portion of expression could not be parsed: ANCESTOR IS pAnc parameters com.google.appengine.api.datastore.Key pAnc,errorClass:JDOUserException,hasErrors:true,stackTrace:\r \norg.datanucleus.jdo.NucleusJDOHelper.getJDOExceptionForNucleusException (NucleusJDOHelper.java:375)\r\norg.datanucleus.jdo.JDOQuery.execute (JDOQuery.java:299)\r\n} --~--~-~--~~~---~--~~ 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: HttpSession handling question
Have you enabled session ? By default it is read-only. WEB-INF/appengine-web.xml. sessions-enabledtrue/sessions-enabled http://code.google.com/appengine/docs/java/config/appconfig.html --- Enabling Sessions App Engine includes an implementation of sessions, using the servlet session interface. The implementation uses the App Engine datastore and memcache to store session data. This feature is off by default. To turn it on, add the following to appengine-web.xml: sessions-enabledtrue/sessions-enabled - --~--~-~--~~~---~--~~ 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: querying using ANCESTOR IS
Any suggestions on what I should do to query using the ancestor? Why not define what you expect it to return (with an example), cos I haven't got a clue what it is supposed to be :-) --~--~-~--~~~---~--~~ 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] jsp.error.beans.property.conversion
Hello, I was trying to run JSF (Mojarra implementation) with google apps engine. I tried both 1.2 and 2.0 versions. My test page was simple, just: f:view h:outputText value=tralala/ /f:view Whenever I tried to view this page (under developer appserver) I received such error: HTTP ERROR: 500 jsp.error.beans.property.conversion RequestURI=/test.faces Caused by: org.apache.jasper.JasperException: jsp.error.beans.property.conversion at org.apache.jasper.runtime.JspRuntimeLibrary.getValueFromPropertyEditorManager (JspRuntimeLibrary.java:885) at org.apache.jsp.test_jsp._jspx_meth_h_outputText_0(test_jsp.java: 123) at org.apache.jsp.test_jsp._jspx_meth_f_view_0(test_jsp.java:98) at org.apache.jsp.test_jsp._jspService(test_jsp.java:62) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94) at javax.servlet.http.HttpServlet.service(HttpServlet.java:806) (...) I looked at compiled test_jsp.java, around line 123. It looked like that: _jspx_th_h_outputText_0.setPageContext(_jspx_page_context); _jspx_th_h_outputText_0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_f_view_0); _jspx_th_h_outputText_0.setValue((javax.el.ValueExpression) org.apache.jasper.runtime.JspRuntimeLibrary.getValueFromPropertyEditorManager (javax.el.ValueExpression.class, value, tralala)); int _jspx_eval_h_outputText_0 = _jspx_th_h_outputText_0.doStartTag(); (...) I guessed it had something to do with Jasper. So I entered the directory google_app_engine/appengine-java-sdk-1.2.2/lib/shared/jsp. There I deleted files repackaged-appengine-jasper-compiler-5.0.28.jar and repackaged-appengine-jasper-runtime-5.0.28.jar. Then I downloaded Tomcat (version 6.0.20) and I found in it files jasper-el.jar, jasper.jar and tomcat-juli.jar. I copied them to google_app_engine/ appengine-java-sdk-1.2.2/lib/shared/jsp. After that error dieappeared when I run my application under developmnent server. However, when I upload it to appspot, it fails with 500 error code. Log says something about NullPointerException, but I don't remember details now. Have any of you encountered problem like that? I read that people use JSF with GAE. Maybe somebody could post a full zipped example of a project using JSF under GAE? Maybe I do something wrong and I could find it by comparing my broken code with such working example? --~--~-~--~~~---~--~~ 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: Snow Leopard Trouble
And everything worked fine before the upgrade? I'm not using GWT, but upgraded to Snow Leopard with no resulting issues for GAE. On Aug 31, 1:51 am, yasuyuki eyasuy...@gmail.com wrote: Hi. I use Eclipse 3.4.2 and GAE/J Plugin. I update my Mac to Mac OS 10.6 Snow Leopard, I caught an error when start my appengine project below: You must use a Java 1.5 runtime to use GWT Hosted Mode on Mac OS X. My Snow Leopard has 64-bit or 32-bit JRE 1.6 ontly, has not JRE 1.5. How to run GAE/J on Snow Leopard ? thanks. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-java@googlegroups.com To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en -~--~~~~--~~--~--~---
[appengine-java] How to make a isKeysOnly() query in JDO?
Hello! I've read that a keys only query is much faster than a normal query, so I want to use this for pagination. But the setKeysOnly() is only applicable to com.google.appengine.api.datastore.Query, not also javax.jdo.Query. I've been using JDO so far, so is there a way to tell JDO you're asking only for keys? I'm trying to do pagination, so at a given moment i will have to skip through entitites, beyond the well known 1000 limit. So i was thinking of making conscutive (key only!) queries of (max) 1000 entities, with the filter: key key of last element fetched by the previous query. When i reach the the entities i need to display i will call pm.getObjectsById() on the last set of keys. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-java@googlegroups.com To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en -~--~~~~--~~--~--~---
[appengine-java] Re: When create a multiple module entry in a project?
Ooops, yes you are right, I was talking about a GWT Entry module, sorry for the off-topic. Xavi. On 3 sep, 09:10, leszek leszek.ptokar...@gmail.com wrote: Do you mean GWT entry module ? But you did better asking this question here:http://groups.google.com/group/Google-Web-Toolkit?pli=1 --~--~-~--~~~---~--~~ 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: GAE down? Response Error 500
Datastore GET error rate is still 100%. Any ETA on when this will be resolved? Regards, JS On Sep 3, 3:41 am, Hani Naguib haninag...@gmail.com wrote: I am also getting many error 500 pages. This is happening since the issue I mentioned here:http://groups.google.com/group/google-appengine-java/browse_thread/th... --~--~-~--~~~---~--~~ 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: A matter in local time
I guess problem is that after deploying to GAE, any try will retrieve the time zone information *on the Google Servers*! Google can't find out what timezone your local developer box is located in. Aron On Sep 2, 1:08 pm, le anh leanhduc1...@gmail.com wrote: On Sep 2, 2:24 pm, leszek leszek.ptokar...@gmail.com wrote: If you delete double declaration (String formattedDate) and add proper imports and declaration 'Calendar cal = Calendar.getInstance()); it should work. But you are having this problem while running in local environment (in your machine) or it does not work after deploying to google (production) environment ? It's also not correct when I change Date date=new Date() to Calendar cal = Calendar.getInstance(). They are same result. The code does not work correct after deploying to google (production) environment , meaning it does not work in Web Application Project of AppEngine . --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-java@googlegroups.com To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en -~--~~~~--~~--~--~---
[appengine-java] Re: How to make a isKeysOnly() query in JDO?
But how do you want to accomplish it ? There is no query like give me the next no more than 1000 keys using filter key lastkey. Also there is no query like give me the least key using filter key lastkey. --~--~-~--~~~---~--~~ 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: Snow Leopard Trouble
This is an issue in GWT that we're currently working on. It does not affect GAE-only projects; only those that use GWT. For now, if you want to work around this issue, you have two options: 1) Use OOPHM, which is part of GWT Trunk. When you use OOPHM, you no longer use the hosted browser; you your real browser (you'll have to install a plugin which will enable communication between GWT and your browser) 2) Use the workaround suggested here: http://wiki.oneswarm.org/index.php/OS_X_10.6_Snow_Leopard However, be wary if you use this workaround; this is not an official workaround from Apple. A Software Update from Apple may interfere with this change. Rajeev On Thu, Sep 3, 2009 at 8:23 AM, objectuser kevin.k.le...@gmail.com wrote: And everything worked fine before the upgrade? I'm not using GWT, but upgraded to Snow Leopard with no resulting issues for GAE. On Aug 31, 1:51 am, yasuyuki eyasuy...@gmail.com wrote: Hi. I use Eclipse 3.4.2 and GAE/J Plugin. I update my Mac to Mac OS 10.6 Snow Leopard, I caught an error when start my appengine project below: You must use a Java 1.5 runtime to use GWT Hosted Mode on Mac OS X. My Snow Leopard has 64-bit or 32-bit JRE 1.6 ontly, has not JRE 1.5. How to run GAE/J on Snow Leopard ? thanks. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-java@googlegroups.com To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en -~--~~~~--~~--~--~---
[appengine-java] Re: Unowned relationships
Jason: good point and yes the code did work Leszek: good point! Thanks all for the help. On Sep 3, 9:27 am, leszek leszek.ptokar...@gmail.com wrote: Keep also in mind that it is not enough to convert 'Child' to 'Key' while persisting 'Parent'. You should also set key to Parent in Child, otherwise, having Child only, it will be impossible to know the Parent. --~--~-~--~~~---~--~~ 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] DataNucleus is looking at UI classes
Using 1.2.2 This is kind of weird... I was developing my application and then all of a sudden I get this error. Everything was working fine, then datanucleus says it can't find the Cow class. The class is in WEB-INF/ classes. But it looks like datanucleus' classloader is trying to load it, not sure why. I included the stacktrace and the class. If you have ideas what I can try, please let me know! Sep 3, 2009 2:12:48 PM com.google.apphosting.utils.jetty.JettyLogger warn WARNING: Nested in org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'userServiceImpl': Injection of persistence fields failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'data.emf' defined in class path resource [at/ hadoken/wizzywig/applicationContext.xml]: Invocation of init method failed; nested exception is javax.persistence.PersistenceException: Provider error. Provider: org.datanucleus.store.appengine.jpa.DatastorePersistenceProvider: Class at.hadoken.wizzywig.client.desktop.Cow was not found in the CLASSPATH. Please check your specification and your CLASSPATH. org.datanucleus.exceptions.ClassNotResolvedException: Class at.hadoken.wizzywig.client.desktop.Cow was not found in the CLASSPATH. Please check your specification and your CLASSPATH. at org.datanucleus.JDOClassLoaderResolver.classForName (JDOClassLoaderResolver.java:250) at org.datanucleus.JDOClassLoaderResolver.classForName (JDOClassLoaderResolver.java:415) at org.datanucleus.metadata.MetaDataManager.loadPersistenceUnit (MetaDataManager.java:767) at org.datanucleus.jpa.EntityManagerFactoryImpl.initialisePMF (EntityManagerFactoryImpl.java:488) at org.datanucleus.jpa.EntityManagerFactoryImpl.init (EntityManagerFactoryImpl.java:355) at org.datanucleus.store.appengine.jpa.DatastoreEntityManagerFactory.init (DatastoreEntityManagerFactory.java:63) at org.datanucleus.store.appengine.jpa.DatastorePersistenceProvider.createEntityManagerFactory (DatastorePersistenceProvider.java:35) at javax.persistence.Persistence.createFactory(Persistence.java:172) at javax.persistence.Persistence.createEntityManagerFactory (Persistence.java:112) at org.springframework.orm.jpa.LocalEntityManagerFactoryBean.createNativeEntityManagerFactory (LocalEntityManagerFactoryBean.java:91) at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet (AbstractEntityManagerFactoryBean.java:291) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods (AbstractAutowireCapableBeanFactory.java:1369) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean (AbstractAutowireCapableBeanFactory.java:1335) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean (AbstractAutowireCapableBeanFactory.java:473) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory $1.run(AbstractAutowireCapableBeanFactory.java:409) at java.security.AccessController.doPrivileged(Native Method) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean (AbstractAutowireCapableBeanFactory.java:380) at org.springframework.beans.factory.support.AbstractBeanFactory $1.getObject(AbstractBeanFactory.java:264) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton (DefaultSingletonBeanRegistry.java:222) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean (AbstractBeanFactory.java:261) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean (AbstractBeanFactory.java:185) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean (AbstractBeanFactory.java:164) at org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor.findDefaultEntityManagerFactory (PersistenceAnnotationBeanPostProcessor.java:507) at org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor.findEntityManagerFactory (PersistenceAnnotationBeanPostProcessor.java:473) at org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor $PersistenceElement.resolveEntityManager (PersistenceAnnotationBeanPostProcessor.java:599) at org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor $PersistenceElement.getResourceToInject (PersistenceAnnotationBeanPostProcessor.java:570) at org.springframework.beans.factory.annotation.InjectionMetadata $InjectedElement.inject(InjectionMetadata.java:180) at org.springframework.beans.factory.annotation.InjectionMetadata.injectFields (InjectionMetadata.java:105) at org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor.postProcessAfterInstantiation
[appengine-java] Re: jsp.error.beans.property.conversion
I think one difference might be your use of JSPs. I'm using JSF 2.0 but with XHTML. But that's just a guess. Did you follow the instructions here? https://sites.google.com/a/wildstartech.com/adventures-in-java/Java-Platform-Enterprise-Edition/JavaServer-Faces/sun-javaserver-faces-reference-implementation/configuring-jsf-20-to-run-on-the-google-appengine On Sep 3, 6:35 am, Piotrek test200909...@gmail.com wrote: Hello, I was trying to run JSF (Mojarra implementation) with google apps engine. I tried both 1.2 and 2.0 versions. My test page was simple, just: f:view h:outputText value=tralala/ /f:view Whenever I tried to view this page (under developer appserver) I received such error: HTTP ERROR: 500 jsp.error.beans.property.conversion RequestURI=/test.faces Caused by: org.apache.jasper.JasperException: jsp.error.beans.property.conversion at org.apache.jasper.runtime.JspRuntimeLibrary.getValueFromPropertyEditorManager (JspRuntimeLibrary.java:885) at org.apache.jsp.test_jsp._jspx_meth_h_outputText_0(test_jsp.java: 123) at org.apache.jsp.test_jsp._jspx_meth_f_view_0(test_jsp.java:98) at org.apache.jsp.test_jsp._jspService(test_jsp.java:62) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94) at javax.servlet.http.HttpServlet.service(HttpServlet.java:806) (...) I looked at compiled test_jsp.java, around line 123. It looked like that: _jspx_th_h_outputText_0.setPageContext(_jspx_page_context); _jspx_th_h_outputText_0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_f_view_0); _jspx_th_h_outputText_0.setValue((javax.el.ValueExpression) org.apache.jasper.runtime.JspRuntimeLibrary.getValueFromPropertyEditorManager (javax.el.ValueExpression.class, value, tralala)); int _jspx_eval_h_outputText_0 = _jspx_th_h_outputText_0.doStartTag(); (...) I guessed it had something to do with Jasper. So I entered the directory google_app_engine/appengine-java-sdk-1.2.2/lib/shared/jsp. There I deleted files repackaged-appengine-jasper-compiler-5.0.28.jar and repackaged-appengine-jasper-runtime-5.0.28.jar. Then I downloaded Tomcat (version 6.0.20) and I found in it files jasper-el.jar, jasper.jar and tomcat-juli.jar. I copied them to google_app_engine/ appengine-java-sdk-1.2.2/lib/shared/jsp. After that error dieappeared when I run my application under developmnent server. However, when I upload it to appspot, it fails with 500 error code. Log says something about NullPointerException, but I don't remember details now. Have any of you encountered problem like that? I read that people use JSF with GAE. Maybe somebody could post a full zipped example of a project using JSF under GAE? Maybe I do something wrong and I could find it by comparing my broken code with such working example? --~--~-~--~~~---~--~~ 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: jsp.error.beans.property.conversion
Yes, I followed that instructions. objectuser wrote: I think one difference might be your use of JSPs. I'm using JSF 2.0 but with XHTML. But that's just a guess. Did you follow the instructions here? https://sites.google.com/a/wildstartech.com/adventures-in-java/Java-Platform-Enterprise-Edition/JavaServer-Faces/sun-javaserver-faces-reference-implementation/configuring-jsf-20-to-run-on-the-google-appengine On Sep 3, 6:35 am, Piotrek test200909...@gmail.com wrote: Hello, I was trying to run JSF (Mojarra implementation) with google apps engine. I tried both 1.2 and 2.0 versions. My test page was simple, just: f:view h:outputText value=tralala/ /f:view Whenever I tried to view this page (under developer appserver) I received such error: HTTP ERROR: 500 jsp.error.beans.property.conversion RequestURI=/test.faces Caused by: org.apache.jasper.JasperException: jsp.error.beans.property.conversion at org.apache.jasper.runtime.JspRuntimeLibrary.getValueFromPropertyEditorManager (JspRuntimeLibrary.java:885) at org.apache.jsp.test_jsp._jspx_meth_h_outputText_0(test_jsp.java: 123) at org.apache.jsp.test_jsp._jspx_meth_f_view_0(test_jsp.java:98) at org.apache.jsp.test_jsp._jspService(test_jsp.java:62) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94) at javax.servlet.http.HttpServlet.service(HttpServlet.java:806) (...) I looked at compiled test_jsp.java, around line 123. It looked like that: _jspx_th_h_outputText_0.setPageContext(_jspx_page_context); _jspx_th_h_outputText_0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_f_view_0); _jspx_th_h_outputText_0.setValue((javax.el.ValueExpression) org.apache.jasper.runtime.JspRuntimeLibrary.getValueFromPropertyEditorManager (javax.el.ValueExpression.class, value, tralala)); int _jspx_eval_h_outputText_0 = _jspx_th_h_outputText_0.doStartTag(); (...) I guessed it had something to do with Jasper. So I entered the directory google_app_engine/appengine-java-sdk-1.2.2/lib/shared/jsp. There I deleted files repackaged-appengine-jasper-compiler-5.0.28.jar and repackaged-appengine-jasper-runtime-5.0.28.jar. Then I downloaded Tomcat (version 6.0.20) and I found in it files jasper-el.jar, jasper.jar and tomcat-juli.jar. I copied them to google_app_engine/ appengine-java-sdk-1.2.2/lib/shared/jsp. After that error dieappeared when I run my application under developmnent server. However, when I upload it to appspot, it fails with 500 error code. Log says something about NullPointerException, but I don't remember details now. Have any of you encountered problem like that? I read that people use JSF with GAE. Maybe somebody could post a full zipped example of a project using JSF under GAE? Maybe I do something wrong and I could find it by comparing my broken code with such working example? --~--~-~--~~~---~--~~ 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: issues with compass for GAE apps
Hie Thankx for taking time... I just adding the static block u mentioned in point 1 just after the static block i have (in the above mail) I am sorry I did not get your point 2. Right now what I do is: every time a request goes to a particular servlet depending upon application flow and i call PersistentManager pm = PMF.get().getPersistenceManager(); and then do jdo stuff with GAE. So, i m not checking any kind of duplicate or anything. I was hoping the PMF class getInstance which is implemented as a singleton pattern takes care of all. Please guide.. my app right now sucks coz of this not intialized error for PMF. Thankx and Regards Vik Founder www.sakshum.com www.sakshum.blogspot.com On Wed, Sep 2, 2009 at 8:42 PM, Toby Reyelts to...@google.com wrote: Thanks for the code. I have three suggestions (mostly from my previous post): 1) Are you maybe loading that singleton class in different classloaders? Try logging the classloader object reference that tries to create the PersistenceManagerFactory. You can add a static initializer ABOVE pmfInstance. static { logger.log(Level.SEVERE, Loading PMF in + PMF.class.getClassLoader()); } 2) Patch the datanucleus plugin code that makes the check for duplicate PMF creations to log a stacktrace first thing every time it's called. Then you'll know for sure which code paths are causing this to happen. 3) Disable the check if you're sure you're only creating the PMF a small number of times. On Wed, Sep 2, 2009 at 2:45 AM, Vik vik@gmail.com wrote: Hie here is the code I am using: package vik.sakshum.sakshumweb.jsp.model.jdo; import javax.jdo.JDOHelper; import javax.jdo.PersistenceManagerFactory; import org.compass.core.Compass; import org.compass.core.config.CompassConfiguration; import org.compass.core.config.CompassEnvironment; import org.compass.gps.CompassGps; import org.compass.gps.device.jdo.Jdo2GpsDevice; import org.compass.gps.impl.SingleCompassGps; public final class PMF { private static final PersistenceManagerFactory pmfInstance = JDOHelper.getPersistenceManagerFactory(transactions-optional); private static final Compass compass; private static final CompassGps compassGps; static { compass = new CompassConfiguration().setConnection(gae://index) .setSetting(CompassEnvironment.ExecutorManager.EXECUTOR_MANAGER_TYPE, disabled) .addScan(vik.sakshum.sakshumweb.jsp.model.jdo) .buildCompass(); compassGps = new SingleCompassGps(compass); compassGps.addGpsDevice(new Jdo2GpsDevice(appenine, pmfInstance)); compassGps.start(); compassGps.index(); } private PMF() {} public static PersistenceManagerFactory get() { return pmfInstance; } public static Compass getCompass(){ return compass; } } any clues? Thankx and Regards Vik Founder www.sakshum.com www.sakshum.blogspot.com On Wed, Sep 2, 2009 at 12:34 AM, Toby Reyelts to...@google.com wrote: Vik, Do you have some sample code to reproduce this? By default, we throw an exception if you try to create more than one PersistenceManagerFactory. Are you using a singleton class to prevent more than one from being created? If so, are you maybe loading that singleton class in different classloaders? (Try logging the classloader object reference that tries to create the PersistenceManagerFactory). Lastly, you can disable the exception if you want (details should be in the exception message), but it will be a performance problem for you if you're creating more than a few PersistenceManagerFactory's. On Tue, Sep 1, 2009 at 1:51 PM, Vik vik@gmail.com wrote: anyone any updates on this please? Thankx and Regards Vik Founder www.sakshum.com www.sakshum.blogspot.com On Sun, Aug 30, 2009 at 8:51 PM, Vik vik@gmail.com wrote: Hie Any one using compass on his GAE app? I am frequently getting error cannot initialize PMF where there is static code to initialize compass apis. Any idea how to resolve? Thankx and Regards Vik Founder www.sakshum.com www.sakshum.blogspot.com --~--~-~--~~~---~--~~ 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: querying using ANCESTOR IS
I got this working using the low-level API. Actually, I'm not sure what JDO gives you over this. I wrap the low- level Entity with my class and give it getters and setters. It doesn't feel any more or less verbose. --~--~-~--~~~---~--~~ 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: JPA support for enum's
public class Address { public static enum State { // define all 2 letter states here ... } // protected State state; // would'nt it be nice if this worked ... } public class Company { // ... @Embedded protected EINein; // IRS tax id @Embedded protected Address address; // ... } it fails stating that Address$State is an unsupported field type ... or if I play with annotations it claims it cannot find init()V which of course is true because there is no public constructor ... I think something else is going on with the Entity and it's embedded types since queries on the address such as select c from Charity where c.address.state='CA'' do not match anything and no index is auto generated locally ... On Sep 3, 12:07 am, leszek leszek.ptokar...@gmail.com wrote: It works for me, also without any annotation. Something like: Enum { Enum1, Enum }; class EnityClass { private Enum en; public Enum getEn() { return en; } public void setEn(Enum en) { this.en = en; } } EntityClass e = new EntityClass(); e. setEn(Enum.Enum1); em.persist(e); // after lauching localhost.../_ah/admin/ I can see this entity and proper 'en' value. Could you provide more details ? --~--~-~--~~~---~--~~ 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: GAE takes 28 sec to read just 200 records
17. I09-03 09:46AM 31.994 vik.sakshum.sakshumweb.jsp.model.jdo.PMF clinit: Loading PMF in com.google.apphosting.runtime.security.userclassloa...@8fcc7b 18. I09-03 09:46AM 41.622 Don't you think it's a strange way to benchmark things by including known one-off operations like creating a PMF ? Personally that ought to be included in application startup timings, rather than time taken to read 200 records. --~--~-~--~~~---~--~~ 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: GAE takes 28 sec to read just 200 records
Hie Strange to hear that if it is creating PMF again Should it do it just once when i logged in? In the logging process I do get an instance of PMF. So, why it is doing that again? Any advise what may be going wrong here? Thankx and Regards Vik Founder www.sakshum.com www.sakshum.blogspot.com On Thu, Sep 3, 2009 at 10:25 PM, datanucleus andy_jeffer...@yahoo.comwrote: 17. I09-03 09:46AM 31.994 vik.sakshum.sakshumweb.jsp.model.jdo.PMF clinit: Loading PMF in com.google.apphosting.runtime.security.userclassloa...@8fcc7b 18. I09-03 09:46AM 41.622 Don't you think it's a strange way to benchmark things by including known one-off operations like creating a PMF ? Personally that ought to be included in application startup timings, rather than time taken to read 200 records. --~--~-~--~~~---~--~~ 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] GAE takes 28 sec to read just 200 records
Hie I just put time to see how much time is eaten up in fetching my 200 recs from GAE store and found 28 secs. Can anybody please look at this stack trace and tell me how to fix this stuff 1. 09-03 09:46AM 13.302 /ui/page/p_getSubscriberInfo.jsp 500 28724ms 38361cpu_ms 22028api_cpu_ms 1kb Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/532.0 (KHTML, like Gecko) Chrome/4.0.203.2Safari/532.0,gzip(gfe),gzip(gfe) 148.87.1.167 - - [03/Sep/2009:09:46:42 -0700] POST /ui/page/p_getSubscriberInfo.jsp HTTP/1.1 500 1095 http://www.sakshum.com/ui/page/SubscriberAdmin.jsp; Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/532.0 (KHTML, like Gecko) Chrome/4.0.203.2 Safari/532.0,gzip(gfe),gzip(gfe) www.sakshum.com 2. I09-03 09:46AM 13.345 [sakshumweb/1.336080071621771245].stdout: in jsp::p_getSubscriberInfo.jsp 3. I09-03 09:46AM 13.392 vik.sakshum.sakshumweb.jsp.model.GetSubscriberDetails execute: start of GetSubscriberDetails at time1251996373392 4. I09-03 09:46AM 16.357 org.compass.core.executor.DefaultExecutorManager configure: Executor Manager is disabled, no concurrent operations will be perfomed by Compass 5. I09-03 09:46AM 16.686 org.compass.core.lucene.engine.LuceneSearchEngineFactory init: Not using highlighter - no highlighter jar included. 6. I09-03 09:46AM 17.743 org.compass.core.lucene.engine.optimizer.LuceneSearchEngineOptimizerManager start: Schduled optimizer is disabled since executor manager is disabled 7. I09-03 09:46AM 17.743 org.compass.core.lucene.engine.manager.DefaultLuceneSearchEngineIndexManager start: Scheduled index manager is disabled since executor manager is disabled 8. I09-03 09:46AM 17.743 org.compass.core.lucene.engine.manager.IndexHoldersCache start: Scheduled refresh cache is disabled since executor manager is disabled 9. I09-03 09:46AM 17.807 org.compass.core.lucene.engine.LuceneSearchEngineFactory init: Not using highlighter - no highlighter jar included. 10. I09-03 09:46AM 23.022 org.compass.gps.device.jdo.JdoGpsDevice doIndex: {appenine}: Indexing the database 11. I09-03 09:46AM 25.124 org.compass.gps.device.jdo.JdoGpsDevice doIndex: {appenine}: Finished indexing the database 12. I09-03 09:46AM 31.991 org.compass.core.impl.DefaultCompass close: Closing Compass [default] 13. I09-03 09:46AM 31.994 org.compass.core.impl.DefaultCompass close: Closed Compass [default] 14. I09-03 09:46AM 31.994 org.compass.core.lucene.engine.optimizer.LuceneSearchEngineOptimizerManager start: Schduled optimizer is disabled since executor manager is disabled 15. I09-03 09:46AM 31.994 org.compass.core.lucene.engine.manager.DefaultLuceneSearchEngineIndexManager start: Scheduled index manager is disabled since executor manager is disabled 16. I09-03 09:46AM 31.994 org.compass.core.lucene.engine.manager.IndexHoldersCache start: Scheduled refresh cache is disabled since executor manager is disabled 17. I09-03 09:46AM 31.994 vik.sakshum.sakshumweb.jsp.model.jdo.PMF clinit: Loading PMF in com.google.apphosting.runtime.security.userclassloa...@8fcc7b 18. I09-03 09:46AM 41.622 [sakshumweb/1.336080071621771245].stdout: Found hits:194:at time:1251996401622 19. E09-03 09:46AM 41.995 vik.sakshum.sakshumweb.jsp.model.GetSubscriberDetails execute: Exception in execute of GetSubscriberDetails 20. E09-03 09:46AM 41.995 vik.sakshum.sakshumweb.jsp.model.GetSubscriberDetails execute: Exception class is :com.google.apphosting.api.DeadlineExceededException 21. E09-03 09:46AM 41.996 vik.sakshum.sakshumweb.jsp.model.GetSubscriberDetails execute: Exception is :This request (71fb8edb69d51212) started at 2009/09/03 16:46:13.315 UTC and was still executing at 2009/09/03 16:46:41.987 UTC. 22. I09-03 09:46AM 42.008 [sakshumweb/1.336080071621771245].stdout: back page value is :javascript:history.go(-1) Thankx and Regards Vik Founder www.sakshum.com www.sakshum.blogspot.com --~--~-~--~~~---~--~~ 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] Long load time for getPersistenceManager
I am new to the Google Application Engine and have just started doing some testing with a simple version of my client and server up and running. In making my requests to the server, I have noticed a very long wait time. So I decided to do some logging of the some of the operations being done in my doPost. I found that it was taking approx. 4.5 seconds to complete everything server side. This was quite alarming to me, but I figured I had screwed something up so I started doing some logging througout the code to find what areas were costing me the most time. I found that the code that took me the longest was creating my Persistence Manager (approx. 1.7 seconds!). This did not make sense to me because it would seem that if it takes that long just to get the manager up and running to do anything else, that all requests server side would take a minimum of 2 seconds, if not much longer. I am using JDO for my database setup, another first for me, so I am wondering if I setup something wrong that is making it take such a long time to get the manager. One of the reasons this struck me as odd is because of some text written in the GAE docs (http://code.google.com/appengine/docs/java/ runtime.html) : An application can process around 30 active dynamic requests simultaneously. This means that an application whose average server- side request processing time is 75 milliseconds can serve up to (1000 ms/second / 75 ms/request) * 30 = 400 requests/second without incurring any additional latency. Applications that are heavily CPU- bound may incur some additional latency in long-running requests in order to make room for other apps sharing the same servers. Requests for static files are not affected by this limit. They talk about 75 ms average server-side request. Which of course I just couldn't imagine given the 1.7 second average to get my persistence manager. Any helpful knowledge on this all would be greatly appreciated. --~--~-~--~~~---~--~~ 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] JasperReports on GAE
Is it possible to use JasperReports on GAE? We are considering porting our application to GAE, but one of the core features of this application is reporting implemented with aid of JasperReports. From what I understand, JasperReporst depend on iText, which is not GAE- compatible. Also, some posts: http://www.extjs.com/deploy/dev/examples/feed-viewer/view.html and http://www.jscriptive.org/2009/08/jasperreports-and-google-appengine.html claim that JasperReports also directly use awt libraries, not available on GAE. It's crucial for us to have our reports working. So does anybody managed to use JasperReports on GAE and can give a hint how to do 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] Re: Inheritance in JDO
Does anyone know if this was fixed in the 1.2.5 SDK release announced today ? (based on the status of the datanucleus-appengine/issues/list I would guess no.) I'd really like to start using JDO inheritance when it comes available. --~--~-~--~~~---~--~~ 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: JasperReports on GAE
We had the same problem but ended up hosting the report generator on a separate server. If you figure it out, please post here about how to do it! Its really the only critical piece of our code that we can't move into this particular cloud. Its the only reason we are considering alternative hosting services right now. --~--~-~--~~~---~--~~ 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: I got error: com.sun.faces.config.ConfigurationException: CONFIGURATION FAILED! access denied (java.lang.RuntimePermission getClassLoader)
It looks like ajax4jsf is making a call to ClassLoader.getSystemClassLoader, which is not allowed by GAE. A reasonable alternative is for it to fall back to another ClassLoader such as the thread context ClassLoader, it's own ClassLoader, or the caller's ClassLoader. at java.lang.SecurityManager.checkPermission(Unknown Source) at java.lang.ClassLoader.getSystemClassLoader(Unknown Source) at org.ajax4jsf.resource.ResourceBuilderImpl.clinit(ResourceBuilderImpl.java:104) On Thu, Sep 3, 2009 at 2:39 AM, Thai tdan...@gmail.com wrote: Because I cannot attach files, I copy and paste the errors here: # 1. 09-02 11:16PM 02.693 /index.jsf 500 4472ms 6319cpu_ms 0kb Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.2) Gecko/20090809 Firefox/3.5.2 (Swiftfox),gzip(gfe) See details 68.196.94.203 - - [02/Sep/2009:23:16:07 -0700] GET /index.jsf HTTP/1.1 500 0 - Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.2) Gecko/20090809 Firefox/3.5.2 (Swiftfox),gzip(gfe) jsfexample1.appspot.com 2. I 09-02 11:16PM 04.453 javax.servlet.ServletContext log: Initializing Spring root WebApplicationContext 3. I 09-02 11:16PM 06.531 com.sun.faces.config.ConfigureListener contextInitialized: Initializing Mojarra (1.2_13-b01-FCS) for context '' 4. W 09-02 11:16PM 07.152 Failed startup of context com.google.apphosting.utils.jetty.runtimeappenginewebappcont...@1c45731 {/,/base/data/home/apps/jsfexample1/4.336070046792708930} com.sun.faces.config.ConfigurationException: CONFIGURATION FAILED! access denied (java.lang.RuntimePermission getClassLoader) at com.sun.faces.config.ConfigManager.initialize (ConfigManager.java:215) at com.sun.faces.config.ConfigureListener.contextInitialized (ConfigureListener.java:196) at org.mortbay.jetty.handler.ContextHandler.startContext (ContextHandler.java:530) at org.mortbay.jetty.servlet.Context.startContext(Context.java: 135) at org.mortbay.jetty.webapp.WebAppContext.startContext (WebAppContext.java:1218) at org.mortbay.jetty.handler.ContextHandler.doStart (ContextHandler.java:500) at org.mortbay.jetty.webapp.WebAppContext.doStart (WebAppContext.java:448) at org.mortbay.component.AbstractLifeCycle.start (AbstractLifeCycle.java:40) at com.google.apphosting.runtime.jetty.AppVersionHandlerMap.createHandler (AppVersionHandlerMap.java:190) at com.google.apphosting.runtime.jetty.AppVersionHandlerMap.getHandler (AppVersionHandlerMap.java:167) at com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceRequest (JettyServletEngineAdapter.java:127) at com.google.apphosting.runtime.JavaRuntime.handleRequest (JavaRuntime.java:235) at com.google.apphosting.base.RuntimePb$EvaluationRuntime $6.handleBlockingRequest(RuntimePb.java:4823) at com.google.apphosting.base.RuntimePb$EvaluationRuntime $6.handleBlockingRequest(RuntimePb.java:4821) at com.google.net.rpc.impl.BlockingApplicationHandler.handleRequest (BlockingApplicationHandler.java:24) at com.google.net.rpc.impl.RpcUtil.runRpcInApplication (RpcUtil.java:359) at com.google.net.rpc.impl.Server$2.run(Server.java:820) at com.google.tracing.LocalTraceSpanRunnable.run (LocalTraceSpanRunnable.java:56) at com.google.tracing.LocalTraceSpanBuilder.internalContinueSpan (LocalTraceSpanBuilder.java:516) at com.google.net.rpc.impl.Server.startRpc(Server.java:775) at com.google.net.rpc.impl.Server.processRequest(Server.java: 348) at com.google.net.rpc.impl.ServerConnection.messageReceived (ServerConnection.java:436) at com.google.net.rpc.impl.RpcConnection.parseMessages (RpcConnection.java:319) at com.google.net.rpc.impl.RpcConnection.dataReceived (RpcConnection.java:290) at com.google.net.async.Connection.handleReadEvent (Connection.java:428) at com.google.net.async.EventDispatcher.processNetworkEvents (EventDispatcher.java:762) at com.google.net.async.EventDispatcher.internalLoop (EventDispatcher.java:207) at com.google.net.async.EventDispatcher.loop (EventDispatcher.java:101) at com.google.net.rpc.RpcService.runUntilServerShutdown (RpcService.java:251) at com.google.apphosting.runtime.JavaRuntime$RpcRunnable.run (JavaRuntime.java:374) at java.lang.Thread.run(Unknown Source) Caused by: java.security.AccessControlException: access denied (java.lang.RuntimePermission getClassLoader) at java.security.AccessControlContext.checkPermission(Unknown Source) at java.security.AccessController.checkPermission(Unknown Source) at java.lang.SecurityManager.checkPermission(Unknown Source) at java.lang.ClassLoader.getSystemClassLoader(Unknown Source) at org.ajax4jsf.resource.ResourceBuilderImpl.clinit (ResourceBuilderImpl.java:104) at
[appengine-java] ExceptionInInitializerError being thrown after renaming model classes.
Hi, I renamed three of my entity classes using Eclipse's refactoring functionality, and the console said it was able to enhance all 9 of my entities just fine. In addition, I changed the war/WEB-INF/classes/META-INF/ persistence.xml file to now have the update list of my entities. For reference, this is it verbatim: ?xml version=1.0 encoding=UTF-8 ? persistence xmlns=http://java.sun.com/xml/ns/persistence; xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance; xsi:schemaLocation=http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd; version=1.0 persistence-unit name=transactions-optional providerorg.datanucleus.store.appengine.jpa.DatastorePersistenceProvider/ provider classcom.todoroo.model.Subscription/class classcom.todoroo.model.CoachReview/class classcom.todoroo.model.Coach/class classcom.todoroo.model.AuthToken/class classcom.todoroo.model.Survey/class classcom.todoroo.model.Notification/class classcom.todoroo.model.User/class classcom.todoroo.model.JSLibrary/class exclude-unlisted-classes/exclude-unlisted-classes properties property name=datanucleus.NontransactionalRead value=true/ property name=datanucleus.NontransactionalWrite value=true/ property name=datanucleus.ConnectionURL value=appengine/ /properties /persistence-unit /persistence But, when running my JUnit tests, I get the following stack trace: java.lang.ExceptionInInitializerError at com.todoroo.dao.impl.GenericDaoImpl.init(GenericDaoImpl.java:34) at com.todoroo.dao.impl.UserDaoImpl.init(UserDaoImpl.java:20) at com.todoroo.dao.UserDaoTest.setUp(UserDaoTest.java:16) at junit.framework.TestCase.runBare(TestCase.java:132) at junit.framework.TestResult$1.protect(TestResult.java:110) at junit.framework.TestResult.runProtected(TestResult.java:128) at junit.framework.TestResult.run(TestResult.java:113) at junit.framework.TestCase.run(TestCase.java:124) at junit.framework.TestSuite.runTest(TestSuite.java:232) at junit.framework.TestSuite.run(TestSuite.java:227) at org.junit.internal.runners.JUnit38ClassRunner.run (JUnit38ClassRunner.java:79) at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run (JUnit4TestReference.java:46) at org.eclipse.jdt.internal.junit.runner.TestExecution.run (TestExecution.java:38) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests (RemoteTestRunner.java:467) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests (RemoteTestRunner.java:683) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run (RemoteTestRunner.java:390) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main (RemoteTestRunner.java:197) Caused by: javax.persistence.PersistenceException: Provider error. Provider: org.datanucleus.store.appengine.jpa.DatastorePersistenceProvider at javax.persistence.Persistence.createFactory(Persistence.java:176) at javax.persistence.Persistence.createEntityManagerFactory (Persistence.java:112) at javax.persistence.Persistence.createEntityManagerFactory (Persistence.java:66) at com.todoroo.util.EMF.clinit(EMF.java:14) ... 17 more Caused by: org.datanucleus.metadata.InvalidMetaDataException: Class com.todoroo.model.User has property subcriptions declared in MetaData, but its setter method doesnt exist in the class! at org.datanucleus.metadata.ClassMetaData.populateMemberMetaData (ClassMetaData.java:520) at org.datanucleus.metadata.ClassMetaData.populate(ClassMetaData.java: 206) at org.datanucleus.metadata.MetaDataManager$1.run (MetaDataManager.java:2317) at java.security.AccessController.doPrivileged(Native Method) at org.datanucleus.metadata.MetaDataManager.populateAbstractClassMetaData (MetaDataManager.java:2311) at org.datanucleus.metadata.MetaDataManager.populateFileMetaData (MetaDataManager.java:2148) at org.datanucleus.metadata.MetaDataManager.initialiseFileMetaDataForUse (MetaDataManager.java:864) at org.datanucleus.metadata.MetaDataManager.loadPersistenceUnit (MetaDataManager.java:794) at org.datanucleus.jpa.EntityManagerFactoryImpl.initialisePMF (EntityManagerFactoryImpl.java:488) at org.datanucleus.jpa.EntityManagerFactoryImpl.init (EntityManagerFactoryImpl.java:355) at org.datanucleus.store.appengine.jpa.DatastoreEntityManagerFactory.init (DatastoreEntityManagerFactory.java:63) at org.datanucleus.store.appengine.jpa.DatastorePersistenceProvider.createEntityManagerFactory (DatastorePersistenceProvider.java:35) at javax.persistence.Persistence.createFactory(Persistence.java:172) ... 20 more Why is this? Nothing has fundamentally changed, just
[appengine-java] Bulk writes to datastore
Is it possible to overcome the datastore's 10 writes/second limit by batching them? I've got a table containing just over one million records (in CSV format). Does a batched write (of around 1MB of data and, say 1000 records) count as one write, or 1000 writes? --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-java@googlegroups.com To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en -~--~~~~--~~--~--~---
[appengine-java] Re: How to make a isKeysOnly() query in JDO?
You can do a keys-only query in JDO by only selecting the primary key field in your query: select id from whatever. Max On Thu, Sep 3, 2009 at 7:07 AM, Corneliu Paul Lupulet corneliu.lupu...@gmail.com wrote: There is! (check out this post about pagination: http://code.google.com/appengine/articles/paging.html ) I've been successfully using something like this until now: select * from whatever and field1 = 'whatever' and ... and key 'FGHFGHHDG453dfgd4453dDFDFG' order by whatever asc, key asc My only issue is that i don't want the query to return the actual objects, but just their keys (it is supposedly much faster) On Thu, Sep 3, 2009 at 4:45 PM, leszek leszek.ptokar...@gmail.com wrote: But how do you want to accomplish it ? There is no query like give me the next no more than 1000 keys using filter key lastkey. Also there is no query like give me the least key using filter key lastkey. -- Corneliu Paul Lupulet --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-java@googlegroups.com To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Performance of site seems much slower after maintenance.
For my part, all seem faster... On Sep 3, 4:01 am, bvelasquez bvelasq...@gmail.com wrote: Hello, My application (ID: jacob-6) seems to be performing worse after the maintenance of yesterday. I have not made any significant changes that would affect performance to this degree, but I definitely see a change since yesterday. Requests are taking much longer and is unpredictable. For example, look at the following two requests. Both for the exact same information, doing the exact same processing. The times are very close since I ran the request manually. The first took much longer to process. 09-02 06:56PM 13.604 /project/topactions/ agdqYWNvYi02cg4LEgdQcm9qZWN0GOoHDA? milestone_id=agdqYWNvYi02chALEglNaWxlc3RvbmUY4zYM 200 329ms 385cpu_ms 151api_cpu_ms 09-02 06:55PM 51.014 /project/topactions/ agdqYWNvYi02cg4LEgdQcm9qZWN0GOoHDA? milestone_id=agdqYWNvYi02chALEglNaWxlc3RvbmUY4zYM 200 1508ms 1240cpu_ms 151api_cpu_ms This behavior is happening across all my requests. I'll try it from a different network connection when I go home tonight. Maybe this has something to do with it. Any ideas? My app went from pretty snappy to pretty slow overnight. Barry --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, 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: Performance of site seems much slower after maintenance.
http://speed-test.appspot.com/ If you want to rule out your network connection this is a good way to do that... Even if it won't test super fast connections with perfect accuracy, your connection should always score about the same. I have found that I get some drastically different results on my home 20 meg Comcast connection at different times of the day compared to testing from my colo's rack, where as Speak easy always tests the same (I suspect that Comcast has figured out that giving priority to speed tests is good for blaming other people for their problems... -Brandon Wirtz -Original Message- From: google-appengine@googlegroups.com [mailto:google-appeng...@googlegroups.com] On Behalf Of Sylvain Sent: Thursday, September 03, 2009 12:03 AM To: Google App Engine Subject: [google-appengine] Re: Performance of site seems much slower after maintenance. For my part, all seem faster... On Sep 3, 4:01 am, bvelasquez bvelasq...@gmail.com wrote: Hello, My application (ID: jacob-6) seems to be performing worse after the maintenance of yesterday. I have not made any significant changes that would affect performance to this degree, but I definitely see a change since yesterday. Requests are taking much longer and is unpredictable. For example, look at the following two requests. Both for the exact same information, doing the exact same processing. The times are very close since I ran the request manually. The first took much longer to process. 09-02 06:56PM 13.604 /project/topactions/ agdqYWNvYi02cg4LEgdQcm9qZWN0GOoHDA? milestone_id=agdqYWNvYi02chALEglNaWxlc3RvbmUY4zYM 200 329ms 385cpu_ms 151api_cpu_ms 09-02 06:55PM 51.014 /project/topactions/ agdqYWNvYi02cg4LEgdQcm9qZWN0GOoHDA? milestone_id=agdqYWNvYi02chALEglNaWxlc3RvbmUY4zYM 200 1508ms 1240cpu_ms 151api_cpu_ms This behavior is happening across all my requests. I'll try it from a different network connection when I go home tonight. Maybe this has something to do with it. Any ideas? My app went from pretty snappy to pretty slow overnight. Barry --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, 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] Special HTTP request header for task queue
The 'X-AppEngine-Cron' header is useful if we don't want to use the app.yaml to define admin privileges, but still don't want just anyone hitting protected URLs. It doesn't look like there's an equivalent for tasks. Is this true? --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, 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: Special HTTP request header for task queue
Hi James, There are a number of special headers sent with Task Queue requests, including: X-AppEngine-QueueName X-AppEngine-TaskName X-AppEngine-TaskRetryCount -Nick Johnson On Thu, Sep 3, 2009 at 8:42 AM, James thelevybre...@gmail.com wrote: The 'X-AppEngine-Cron' header is useful if we don't want to use the app.yaml to define admin privileges, but still don't want just anyone hitting protected URLs. It doesn't look like there's an equivalent for tasks. Is this true? -- Nick Johnson, Developer Programs Engineer, App Engine --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: DataStore backup policies
Hi Carlos, The short story is: We won't lose your data - we have a robust backup and recovery strategy - but we're not responsible for you losing your own data, so we suggest you keep your own backups so you can recover from bugs or mistakes in your code. -Nick Johnson On Mon, Aug 31, 2009 at 11:13 PM, Carlos Andres Echeverri Delgado caecheverr...@gmail.com wrote: Thank you for you response but it doesn't clear yet. If I use Google's Apps Engine service, what kind of guarantee Google offer me about my data? Exist some certified or something like that? Thanks 2009/8/31 Wooble geoffsp...@gmail.com You can probably trust Google's infrastructure to not lose your data; however, it's a good idea to make backups in case software problems in your own code cause data loss. On Aug 31, 2:46 pm, caecheverri caecheverr...@gmail.com wrote: Hi, I want to know what are the policies to make backup to data? Can I do it or it is done by Apps Engine administrator? How Apps Engine deal with data integrity and reliability?...I mean, if infraestructure crash, How is recovery the data? Thanks. -- Nick Johnson, Developer Programs Engineer, App Engine --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: About uploading data with appcfg.py
Hi ShriJ, Can you please include the full definition of Videos and VideoLoader? Also, are you using app-engine-patch? -Nick Johnson On Wed, Sep 2, 2009 at 7:37 AM, ShriJ shrin...@gmail.com wrote: Hi, I have a problem while uploading data using appcfg.py. I have a file named videoloader.py which has the definition of the following classes: class Videos(db.Expando): ... class VideoLoader(bulkload.Loader): def __init__(self): ... loaders = [VideoLoader] So the same file has the class definitions of class Videos and VideoLoader. When I run appcfg.py with the upload_data option: $ python appcfg.py upload_data --config_file=videoloader.py -- filename=data.csv --kind=Videos myVideoApp I get the following error: Traceback (most recent call last): File appcfg.py, line 60, in module run_file(__file__, globals()) File appcfg.py, line 57, in run_file execfile(script_path, globals_) File /home/new_google_appengine/google_appengine/google/appengine/ tools/appcfg.py, line 2453, in module main(sys.argv) File /home/new_google_appengine/google_appengine/google/appengine/ tools/appcfg.py, line 2444, in main result = AppCfgApp(argv).Run() File /home/new_google_appengine/google_appengine/google/appengine/ tools/appcfg.py, line 1605, in Run self.action(self) File /home/new_google_appengine/google_appengine/google/appengine/ tools/appcfg.py, line 2332, in __call__ return method() File /home/new_google_appengine/google_appengine/google/appengine/ tools/appcfg.py, line 2221, in PerformUpload run_fn(args) File /home/new_google_appengine/google_appengine/google/appengine/ tools/appcfg.py, line 2131, in RunBulkloader sys.exit(bulkloader.Run(arg_dict)) File /home/new_google_appengine/google_appengine/google/appengine/ tools/bulkloader.py, line 3581, in Run return _PerformBulkload(arg_dict) File /home/new_google_appengine/google_appengine/google/appengine/ tools/bulkloader.py, line 3439, in _PerformBulkload loader = Loader.RegisteredLoader(kind) File /home/new_google_appengine/google_appengine/google/appengine/ tools/bulkloader.py, line 2406, in RegisteredLoader return Loader.__loaders[kind] KeyError: 'Videos' -- Nick Johnson, Developer Programs Engineer, App Engine --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: 30 Max simultaneous requests (maxThreads)?
Hi Adligo, The limit on concurrent instances of your app is not a hard one - it will increase as your app gets more traffic. The only situation you're likely to run into it is if you have a lot of requests that take a long time to complete - eg, if you're calling time.sleep() in your request handler. As long as you're serving your requests reasonably efficiently, you can expect the number of concurrent requests your app is allowed to scale up with load. -Nick Johnson On Wed, Sep 2, 2009 at 1:33 AM, Adligo sc...@adligo.com wrote: Hi, I am developing a app (or more than one) that I would like to host on Google App Engine, however the architecture of the app involves cranking up the maxThreads (I am using my home grown hosting which now has Tomcat set to 2,000 maxThreads :) ). For example (1 six+ year old machine in my basement) http://zeuhl.adligo.com/gwt_util_demo_v3_1/GwtDemo.html?show_log=true I was reading somewhere that my app will be limited to 30 Max simultaneous requests (maxThreads), and I didn't see anything about being able to change this (EVEN IF YOU PAY FOR IT). So is it possible to change this? If not why, it should be billable like everything else... How much would it cost? Also I think that it seems like a silly limit (although probably a good starting point for most apps). Some apps need a lot of threads, some have a lot of page requests. For instance my app needs a lot of threads (the above version uses at least 1 per user ALL THE TIME) and will go to 2 per user in the next release :) Or rather to be more specific One thread per open browser window, so I can 'send' data to the browser window in near real time with out having the browser window send a request every millisecond (which causes other problems). So it will be limited to 15 users on Googles App Engine yikes! Cheers, Scott -- Nick Johnson, Developer Programs Engineer, App Engine --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Indexes stuck in 'Building' state. Cannot vacuum ('because they no longer exist')
Hello! I have two index stuck in 'Building' state, for the past 12 hours. I still have entities in the datastore, but they should have finished building by now. I can't vacuum them with appcfy.py because it says they are no longer there. I see the 'trend' is to ask one of guys to help me out vacuum the indexes (my application id is 'cosinux68'). But why don't you implement a force clear indexes' feature? :) Thank you, Cornel --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Problem with authentication services
Yes, I was logged with one of the google apps accounts for the domain defined in the config. I've attached both the LOG and the part of the code that sent the exception. You can see that the row that throws the exception is row 87, corresponding to the following code: userService.createLoginURL (thisURL). The contents of thisURL is the url /LoginServlet mapped back to the same servlet. I tested the appplication both logged and not logged in, and inexplicably the error is always at row 87. It seems that the statement request.getUserPrincipal() always returns null. Maybe there are two problems here ... thanks Dario ***LOG*** google.LoginServlet doGet: The requested URL was not allowed: / LoginServlet java.lang.IllegalArgumentException: The requested URL was not allowed: /LoginServlet at com.google.appengine.api.users.UserServiceImpl.doCreateURL (UserServiceImpl.java:66) at com.google.appengine.api.users.UserServiceImpl.createLoginURL (UserServiceImpl.java:22) at google.LoginServlet.doGet(LoginServlet.java:87) at javax.servlet.http.HttpServlet.service(HttpServlet.java:693) at javax.servlet.http.HttpServlet.service(HttpServlet.java:806) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java: 487) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter (ServletHandler.java:1093) at com.google.apphosting.runtime.jetty.SaveSessionFilter.doFilter (SaveSessionFilter.java:35) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter (ServletHandler.java:1084) at com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter (TransactionCleanupFilter.java:43) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter (ServletHandler.java:1084) at org.mortbay.jetty.servlet.ServletHandler.handle (ServletHandler.java:360) at org.mortbay.jetty.security.SecurityHandler.handle (SecurityHandler.java:216) at org.mortbay.jetty.servlet.SessionHandler.handle (SessionHandler.java:181) at org.mortbay.jetty.handler.ContextHandler.handle (ContextHandler.java:712) at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java: 405) at com.google.apphosting.runtime.jetty.AppVersionHandlerMap.handle (AppVersionHandlerMap.java:237) at org.mortbay.jetty.handler.HandlerWrapper.handle (HandlerWrapper.java:139) at org.mortbay.jetty.Server.handle(Server.java:313) at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java: 506) at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete (HttpConnection.java:830) at com.google.apphosting.runtime.jetty.RpcRequestParser.parseAvailable (RpcRequestParser.java:76) at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:381) at com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceRequest (JettyServletEngineAdapter.java:139) at com.google.apphosting.runtime.JavaRuntime.handleRequest (JavaRuntime.java:235) at com.google.apphosting.base.RuntimePb$EvaluationRuntime $6.handleBlockingRequest(RuntimePb.java:4823) at com.google.apphosting.base.RuntimePb$EvaluationRuntime $6.handleBlockingRequest(RuntimePb.java:4821) at com.google.net.rpc.impl.BlockingApplicationHandler.handleRequest (BlockingApplicationHandler.java:24) at com.google.net.rpc.impl.RpcUtil.runRpcInApplication(RpcUtil.java: 359) at com.google.net.rpc.impl.Server$2.run(Server.java:820) at com.google.tracing.LocalTraceSpanRunnable.run (LocalTraceSpanRunnable.java:56) at com.google.tracing.LocalTraceSpanBuilder.internalContinueSpan (LocalTraceSpanBuilder.java:516) at com.google.net.rpc.impl.Server.startRpc(Server.java:775) at com.google.net.rpc.impl.Server.processRequest(Server.java:348) at com.google.net.rpc.impl.ServerConnection.messageReceived (ServerConnection.java:436) at com.google.net.rpc.impl.RpcConnection.parseMessages (RpcConnection.java:319) at com.google.net.rpc.impl.RpcConnection.dataReceived (RpcConnection.java:290) at com.google.net.async.Connection.handleReadEvent(Connection.java: 428) at com.google.net.async.EventDispatcher.processNetworkEvents (EventDispatcher.java:762) at com.google.net.async.EventDispatcher.internalLoop (EventDispatcher.java:207) at com.google.net.async.EventDispatcher.loop(EventDispatcher.java: 101) at com.google.net.rpc.RpcService.runUntilServerShutdown (RpcService.java:251) at com.google.apphosting.runtime.JavaRuntime$RpcRunnable.run (JavaRuntime.java:374) at java.lang.Thread.run(Unknown Source) ***CODE*** protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { UserService userService = UserServiceFactory.getUserService(); String thisURL =
[google-appengine] Re: Indexes stuck in 'Building' state. Cannot vacuum ('because they no longer exist')
I've tried to 'upload' again those 2 index definitions that were stuck in building. It seems they reached 'serving' now, and i was able to vacuum them. On Thu, Sep 3, 2009 at 12:28 PM, Cornel corneliu.lupu...@gmail.com wrote: Hello! I have two index stuck in 'Building' state, for the past 12 hours. I still have entities in the datastore, but they should have finished building by now. I can't vacuum them with appcfy.py because it says they are no longer there. I see the 'trend' is to ask one of guys to help me out vacuum the indexes (my application id is 'cosinux68'). But why don't you implement a force clear indexes' feature? :) Thank you, Cornel -- Corneliu Paul Lupulet --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, 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: Request file size limit?
Hi, Yes, that's correct. All API calls are currently limited to 1MB. -Nick Johnson On Wed, Sep 2, 2009 at 4:55 PM, angelod101 angelod...@gmail.com wrote: I read on stackoverflow that the maximum file size you can request with urlfetch is 1MB, is this true? That doesn't seem very large for a platform made to scale. I have a zip file that can be 15MB and I was looking at app engine to save/unzip the file, parse it into the data store and build a web service to expose the data. Will I be able to download such a large file with app engine? Thanks. -- Nick Johnson, Developer Programs Engineer, App Engine --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Quota exceeded... although it doesn't seem to be
Hi Shrinand, The bulk uploader lets you set a rate at which you want to upload your data - see the command line reference in the documentation: http://code.google.com/appengine/docs/python/tools/uploadingdata.html#Command_Line_Arguments -Nick Johnson On Wed, Sep 2, 2009 at 5:45 PM, Shrinand Javadekar shrin...@gmail.comwrote: You need to ratelimit the upload to a slower speed in order to not exhaust your short-term quotas. -Nick Johnson Thanks a ton Nick. I do delete the data in batches. The problem is not so much with delete. I can always restart the deletion process and clear out all the data. The problem is with uploading. I tried uploading in batches of 100 (lines in the csv file). Then with 50. None of them worked. How do I rate-limit the upload to a slower speed? Also, I think the appcfg.py with the upload data option tackles this problem of restarting the upload process from wherever it crashes last. I am getting some errors in that too. Can you help me with that? http://groups.google.com/group/google-appengine/browse_thread/thread/795f1030500440f0# Thanks in advance. -Shri -- Nick Johnson, Developer Programs Engineer, App Engine --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Redeploy all files
Hi, When I deploy from my project I only get the files which have changed. Is it possible to force a redeployeement of all the files. I think that I'm missing to upload some files. /daniel --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, 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: Request file size limit?
It is odd to suggest that maximum request size implies something about scalability. For example, the Google search api (the one that uses the search engine) has a 2KByte size limit. The search box itself has similar limits. If I write a simple text comparison program that allows 1MByte queries, would you say that said program scales more than Google search? If Google changed the search limit to 10KByte, would you say that they'd made search more scalable? Would changing it to 500 bytes mean that it was less scalable? On Sep 2, 8:55 am, angelod101 angelod...@gmail.com wrote: I read on stackoverflow that the maximum file size you can request with urlfetch is 1MB, is this true? That doesn't seem very large for a platform made to scale. I have a zip file that can be 15MB and I was looking at app engine to save/unzip the file, parse it into the data store and build a web service to expose the data. Will I be able to download such a large file with app engine? 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] Re: Problem with authentication services
Hi, I resolved the problem. I forgotten to active the application in the Google Apps Dashboard :) Thanks Dario On 3 Set, 11:37, Dario darioigna...@gmail.com wrote: Yes, I was logged with one of the google apps accounts for the domain defined in the config. I've attached both the LOG and the part of the code that sent the exception. You can see that the row that throws the exception is row 87, corresponding to the following code: userService.createLoginURL (thisURL). The contents of thisURL is the url /LoginServlet mapped back to the same servlet. I tested the appplication both logged and not logged in, and inexplicably the error is always at row 87. It seems that the statement request.getUserPrincipal() always returns null. Maybe there are two problems here ... thanks Dario ***LOG*** google.LoginServlet doGet: The requested URL was not allowed: / LoginServlet java.lang.IllegalArgumentException: The requested URL was not allowed: /LoginServlet at com.google.appengine.api.users.UserServiceImpl.doCreateURL (UserServiceImpl.java:66) at com.google.appengine.api.users.UserServiceImpl.createLoginURL (UserServiceImpl.java:22) at google.LoginServlet.doGet(LoginServlet.java:87) at javax.servlet.http.HttpServlet.service(HttpServlet.java:693) at javax.servlet.http.HttpServlet.service(HttpServlet.java:806) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java: 487) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter (ServletHandler.java:1093) at com.google.apphosting.runtime.jetty.SaveSessionFilter.doFilter (SaveSessionFilter.java:35) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter (ServletHandler.java:1084) at com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter (TransactionCleanupFilter.java:43) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter (ServletHandler.java:1084) at org.mortbay.jetty.servlet.ServletHandler.handle (ServletHandler.java:360) at org.mortbay.jetty.security.SecurityHandler.handle (SecurityHandler.java:216) at org.mortbay.jetty.servlet.SessionHandler.handle (SessionHandler.java:181) at org.mortbay.jetty.handler.ContextHandler.handle (ContextHandler.java:712) at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java: 405) at com.google.apphosting.runtime.jetty.AppVersionHandlerMap.handle (AppVersionHandlerMap.java:237) at org.mortbay.jetty.handler.HandlerWrapper.handle (HandlerWrapper.java:139) at org.mortbay.jetty.Server.handle(Server.java:313) at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java: 506) at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete (HttpConnection.java:830) at com.google.apphosting.runtime.jetty.RpcRequestParser.parseAvailable (RpcRequestParser.java:76) at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:381) at com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceRequest (JettyServletEngineAdapter.java:139) at com.google.apphosting.runtime.JavaRuntime.handleRequest (JavaRuntime.java:235) at com.google.apphosting.base.RuntimePb$EvaluationRuntime $6.handleBlockingRequest(RuntimePb.java:4823) at com.google.apphosting.base.RuntimePb$EvaluationRuntime $6.handleBlockingRequest(RuntimePb.java:4821) at com.google.net.rpc.impl.BlockingApplicationHandler.handleRequest (BlockingApplicationHandler.java:24) at com.google.net.rpc.impl.RpcUtil.runRpcInApplication(RpcUtil.java: 359) at com.google.net.rpc.impl.Server$2.run(Server.java:820) at com.google.tracing.LocalTraceSpanRunnable.run (LocalTraceSpanRunnable.java:56) at com.google.tracing.LocalTraceSpanBuilder.internalContinueSpan (LocalTraceSpanBuilder.java:516) at com.google.net.rpc.impl.Server.startRpc(Server.java:775) at com.google.net.rpc.impl.Server.processRequest(Server.java:348) at com.google.net.rpc.impl.ServerConnection.messageReceived (ServerConnection.java:436) at com.google.net.rpc.impl.RpcConnection.parseMessages (RpcConnection.java:319) at com.google.net.rpc.impl.RpcConnection.dataReceived (RpcConnection.java:290) at com.google.net.async.Connection.handleReadEvent(Connection.java: 428) at com.google.net.async.EventDispatcher.processNetworkEvents (EventDispatcher.java:762) at com.google.net.async.EventDispatcher.internalLoop (EventDispatcher.java:207) at com.google.net.async.EventDispatcher.loop(EventDispatcher.java: 101) at com.google.net.rpc.RpcService.runUntilServerShutdown (RpcService.java:251) at com.google.apphosting.runtime.JavaRuntime$RpcRunnable.run (JavaRuntime.java:374) at java.lang.Thread.run(Unknown Source) ***CODE***
[google-appengine] Use Transaction for DataStore operation?
My app generates a unique id string for each user who registers (like a tinyurl). The id is based on random numbers, which are seeded from a hash of their user information. There are over 240 million combinations possible for the id, but I want to avoid collision by checking against the datastore first to make sure a user with this id doesn't already exist. While it's unlikely to happen, I see a potential race condition if 2 users register at almost the same time, and their user information hashes the same id. It's possible that both could check the datastore for id uniqueness before either has inserted the new record, and as such I could end up with two users in the datastore with the same id. Unlikely, but possible. Could I resolve this with a transaction, by making the lookup and subsequent insert a single transaction? Or would this not really resolve the issue, as a transaction's view of the datastore is frozen at the start of the transaction (so I wouldn't see the other record just inserted). If a transaction isn't the way to go, can you recommend a method to get out of this race condition? Thanks, Dave --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, 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: Performance of site seems much slower after maintenance.
I tried the tests from two locations now. Same results on the poor performance. I profiled the app. but found nothing obvious. Is there a way to download all the profile data? Some of my requests are now taking 11000ms. However, the same request a second time might take only 400ms. I'm at a loss. I'm only fetching 25 from the first page. action_gql = Action.gql(WHERE project = :1 and state = :2 and archived = :3 and milestone = :4 ORDER BY state DESC, due ASC, priority DESC, summary ASC, project_key, 0, False, db.Key(milestone)) This is an example query. Possibly the ORDER BY? Barry P.S. Sorry if this is a double post, my session seemed to have expired right after I hit send, so I don't know if the original made it. On Sep 3, 12:12 am, Brandon N. Wirtz drak...@digerat.com wrote: http://speed-test.appspot.com/ If you want to rule out your network connection this is a good way to do that... Even if it won't test super fast connections with perfect accuracy, your connection should always score about the same. I have found that I get some drastically different results on my home 20 meg Comcast connection at different times of the day compared to testing from my colo's rack, where as Speak easy always tests the same (I suspect that Comcast has figured out that giving priority to speed tests is good for blaming other people for their problems... -Brandon Wirtz -Original Message- From: google-appengine@googlegroups.com [mailto:google-appeng...@googlegroups.com] On Behalf Of Sylvain Sent: Thursday, September 03, 2009 12:03 AM To: Google App Engine Subject: [google-appengine] Re: Performance of site seems much slower after maintenance. For my part, all seem faster... On Sep 3, 4:01 am, bvelasquez bvelasq...@gmail.com wrote: Hello, My application (ID: jacob-6) seems to be performing worse after the maintenance of yesterday. I have not made any significant changes that would affect performance to this degree, but I definitely see a change since yesterday. Requests are taking much longer and is unpredictable. For example, look at the following two requests. Both for the exact same information, doing the exact same processing. The times are very close since I ran the request manually. The first took much longer to process. 09-02 06:56PM 13.604 /project/topactions/ agdqYWNvYi02cg4LEgdQcm9qZWN0GOoHDA? milestone_id=agdqYWNvYi02chALEglNaWxlc3RvbmUY4zYM 200 329ms 385cpu_ms 151api_cpu_ms 09-02 06:55PM 51.014 /project/topactions/ agdqYWNvYi02cg4LEgdQcm9qZWN0GOoHDA? milestone_id=agdqYWNvYi02chALEglNaWxlc3RvbmUY4zYM 200 1508ms 1240cpu_ms 151api_cpu_ms This behavior is happening across all my requests. I'll try it from a different network connection when I go home tonight. Maybe this has something to do with it. Any ideas? My app went from pretty snappy to pretty slow overnight. Barry --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, 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: Performance of site seems much slower after maintenance.
I tried the tests from two locations now. Same results on the poor performance. I profiled the app. but found nothing obvious. Is there a way to download all the profile data? Some of my requests are now taking 11000ms. However, the same request a second time might take only 400ms. I'm at a loss. I'm only fetching 25 from the first page. action_gql = Action.gql(WHERE project = :1 and state = :2 and archived = :3 and milestone = :4 ORDER BY state DESC, due ASC, priority DESC, summary ASC, project_key, 0, False, db.Key(milestone)) This is an example query. Possibly the ORDER BY? Barry On Sep 3, 12:12 am, Brandon N. Wirtz drak...@digerat.com wrote: http://speed-test.appspot.com/ If you want to rule out your network connection this is a good way to do that... Even if it won't test super fast connections with perfect accuracy, your connection should always score about the same. I have found that I get some drastically different results on my home 20 meg Comcast connection at different times of the day compared to testing from my colo's rack, where as Speak easy always tests the same (I suspect that Comcast has figured out that giving priority to speed tests is good for blaming other people for their problems... -Brandon Wirtz -Original Message- From: google-appengine@googlegroups.com [mailto:google-appeng...@googlegroups.com] On Behalf Of Sylvain Sent: Thursday, September 03, 2009 12:03 AM To: Google App Engine Subject: [google-appengine] Re: Performance of site seems much slower after maintenance. For my part, all seem faster... On Sep 3, 4:01 am, bvelasquez bvelasq...@gmail.com wrote: Hello, My application (ID: jacob-6) seems to be performing worse after the maintenance of yesterday. I have not made any significant changes that would affect performance to this degree, but I definitely see a change since yesterday. Requests are taking much longer and is unpredictable. For example, look at the following two requests. Both for the exact same information, doing the exact same processing. The times are very close since I ran the request manually. The first took much longer to process. 09-02 06:56PM 13.604 /project/topactions/ agdqYWNvYi02cg4LEgdQcm9qZWN0GOoHDA? milestone_id=agdqYWNvYi02chALEglNaWxlc3RvbmUY4zYM 200 329ms 385cpu_ms 151api_cpu_ms 09-02 06:55PM 51.014 /project/topactions/ agdqYWNvYi02cg4LEgdQcm9qZWN0GOoHDA? milestone_id=agdqYWNvYi02chALEglNaWxlc3RvbmUY4zYM 200 1508ms 1240cpu_ms 151api_cpu_ms This behavior is happening across all my requests. I'll try it from a different network connection when I go home tonight. Maybe this has something to do with it. Any ideas? My app went from pretty snappy to pretty slow overnight. Barry --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, 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: Performance of site seems much slower after maintenance.
i'm getting a similar response: 16 sec the first time, then sub-second after that. wonder if it has anything to do with the gmail maintenance and subsequence downtime that occurred a a few days ago... On Sep 3, 11:23 pm, bvelasquez bvelasq...@gmail.com wrote: I tried the tests from two locations now. Same results on the poor performance. I profiled the app. but found nothing obvious. Is there a way to download all the profile data? Some of my requests are now taking 11000ms. However, the same request a second time might take only 400ms. I'm at a loss. I'm only fetching 25 from the first page. action_gql = Action.gql(WHERE project = :1 and state = :2 and archived = :3 and milestone = :4 ORDER BY state DESC, due ASC, priority DESC, summary ASC, project_key, 0, False, db.Key(milestone)) This is an example query. Possibly the ORDER BY? Barry On Sep 3, 12:12 am, Brandon N. Wirtz drak...@digerat.com wrote: http://speed-test.appspot.com/ If you want to rule out your network connection this is a good way to do that... Even if it won't test super fast connections with perfect accuracy, your connection should always score about the same. I have found that I get some drastically different results on my home 20 meg Comcast connection at different times of the day compared to testing from my colo's rack, where as Speak easy always tests the same (I suspect that Comcast has figured out that giving priority to speed tests is good for blaming other people for their problems... -Brandon Wirtz -Original Message- From: google-appengine@googlegroups.com [mailto:google-appeng...@googlegroups.com] On Behalf Of Sylvain Sent: Thursday, September 03, 2009 12:03 AM To: Google App Engine Subject: [google-appengine] Re: Performance of site seems much slower after maintenance. For my part, all seem faster... On Sep 3, 4:01 am, bvelasquez bvelasq...@gmail.com wrote: Hello, My application (ID: jacob-6) seems to be performing worse after the maintenance of yesterday. I have not made any significant changes that would affect performance to this degree, but I definitely see a change since yesterday. Requests are taking much longer and is unpredictable. For example, look at the following two requests. Both for the exact same information, doing the exact same processing. The times are very close since I ran the request manually. The first took much longer to process. 09-02 06:56PM 13.604 /project/topactions/ agdqYWNvYi02cg4LEgdQcm9qZWN0GOoHDA? milestone_id=agdqYWNvYi02chALEglNaWxlc3RvbmUY4zYM 200 329ms 385cpu_ms 151api_cpu_ms 09-02 06:55PM 51.014 /project/topactions/ agdqYWNvYi02cg4LEgdQcm9qZWN0GOoHDA? milestone_id=agdqYWNvYi02chALEglNaWxlc3RvbmUY4zYM 200 1508ms 1240cpu_ms 151api_cpu_ms This behavior is happening across all my requests. I'll try it from a different network connection when I go home tonight. Maybe this has something to do with it. Any ideas? My app went from pretty snappy to pretty slow overnight. Barry- Hide quoted text - - Show quoted text - --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, 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: app instance is completely broken, DeadlineExceededError
This is happening again. I even made my application a paid application this morning. Everything was working fine and then around 8 am PST everything starting blowing up again. Maybe it has something to with using django 1.0 with use_library ('django', '1.0')? Please help. I'm seeing this on the client side: Error: Server Error The server encountered an error and could not complete your request. If the problem persists, please report your problem and mention this error message and the query that caused it. And this in the logs: # 1. 09-03 08:38AM 01.904 /class/list 500 36197ms 1185cpu_ms 38api_cpu_ms 0kb Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; Tablet PC 2.0),gzip(gfe) See details - - [03/Sep/2009:08:38:38 -0700] GET /class/list HTTP/1.1 500 0 http://easyschooladmin.appspot.com/class/list; Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; Tablet PC 2.0),gzip(gfe) easyschooladmin.appspot.com 2. E 09-03 08:38AM 38.069 class 'google.appengine.runtime.DeadlineExceededError': Traceback (most recent call last): File /base/data/home/apps/easyschooladmin/ 1.336079106509095336/django_bootstrap.py, line 64, in module main() File /base/data/home/apps/easyschooladmin/ 1.336079106509095336/django_bootstrap.py, line 61, in main util.run_wsgi_app(application) File /base/python_lib/versions/1/google/appengine/ext/webapp/ util.py, line 76, in run_wsgi_app result = application(env, _start_response) File /base/python_lib/versions/third_party/django-1.0/django/ core/handlers/wsgi.py, line 239, in __call__ response = self.get_response(request) File /base/python_lib/versions/third_party/django-1.0/django/ core/handlers/base.py, line 128, in get_response return self.handle_uncaught_exception(request, resolver, exc_info) File /base/python_lib/versions/third_party/django-1.0/django/ core/handlers/base.py, line 141, in handle_uncaught_exception from django.core.mail import mail_admins File /base/python_lib/versions/third_party/django-1.0/django/ core/mail.py, line 5, in module import mimetypes On Sep 2, 9:32 pm, Kenneth goo...@kmacleod.ie wrote: Actually I did have two versions of my application. Both of them went down, including the production version that hadn't been updated in nearly a week. It was never a problem with my code; the problem is quite clearly with google's infrastructure, although I'm willing to be proven wrong. I uploaded my code (both production and latest) to a new application instance by changing the app.yaml file and it ran perfectly. I pulled out all datastore touches from the code on the broken instance to see if that was the issue, it wasn't. If you look at the stack traces they appear to be happening during module import, not during my application running. I do appreciate the input though, it is good advice. On Sep 2, 8:40 pm, Brandon N. Wirtz drak...@digerat.com wrote: Google, how am I supposed to run a business on this platform? That is why there is versioning. Upload to one version, test that it works, push the button to change the default version. Always have two copies of your application, so you don't risk corrupting your live data. Make sure you only have one guy with the rights to deploy to your primary app so that a momentary lapse in Yaml configuration doesn't bork your site. With Great power comes great responsibility :-) so make sure that when leveraging the Power of the Goog, you don't break the baby, cause it can be a real pain if your have 100 megs of application and screw it up, cause it's kind of slow to put back. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, 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: Use Transaction for DataStore operation?
Looking at the create_or_update function here: http://code.google.com/appengine/docs/python/datastore/transactions.html It would seem that transactions will do what you want. In the else: clause where they do the update, you would probably want to change this to throw an exception. If this didn't work, then it'd be possible to create 2 duplicate records, which would seem to defeat the purpose. -john On Thu, Sep 3, 2009 at 7:47 AM, Davedabo...@gmail.com wrote: My app generates a unique id string for each user who registers (like a tinyurl). The id is based on random numbers, which are seeded from a hash of their user information. There are over 240 million combinations possible for the id, but I want to avoid collision by checking against the datastore first to make sure a user with this id doesn't already exist. While it's unlikely to happen, I see a potential race condition if 2 users register at almost the same time, and their user information hashes the same id. It's possible that both could check the datastore for id uniqueness before either has inserted the new record, and as such I could end up with two users in the datastore with the same id. Unlikely, but possible. Could I resolve this with a transaction, by making the lookup and subsequent insert a single transaction? Or would this not really resolve the issue, as a transaction's view of the datastore is frozen at the start of the transaction (so I wouldn't see the other record just inserted). If a transaction isn't the way to go, can you recommend a method to get out of this race condition? Thanks, Dave --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, 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: Merge-Join Performance?
I've watched this video, so I watched again. At first he says he thinks filter order might matter, but then corrects himself based on input from the author of the code to say that filter order has a very small effect. On Sep 2, 5:52 am, Paul Kinlan paul.kin...@gmail.com wrote: There is a video about building scalable apps by Brett Slatkin onhttp://code.google.com/io At the end of the video it is hinted (I believe - I could be wrong) that the order of your filters matters, so that means that you should choose key with the highest entropy first (my terminology might be incorrect) but if your data is not very unique it should be used later in the merge join query. Paul 2009/9/2 Jai sharma...@gmail.com Also does it use the keyword histogram to optimize the set- intersection performance(AND queries) in merge-join? Regards, Jai On Sep 1, 12:07 pm, Devel63 danstic...@gmail.com wrote: I'm seeing very slow times on some merge-join (zig zag) queries, and just want to confirm that App Engine is smart about these things. In particular, if I have a poperty for which most records have an identical value, does GAE does have to scan the related entire index linearly, or, if I'm in the middle of a merge join, does it intelligently find a good starting point based on the desired __key__ value? Imagine 1M records with a db.BooleanProperty set to False... --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, 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 question
No answers to my question :( Could it be that my question is stupid... I wonder? :) On Wed, Sep 2, 2009 at 1:05 PM, Ajay Chitre chitre.a...@gmail.com wrote: Hello, I am a newbie to Datastore. Here's what I am trying to accomplish: Trying to set an Unowned one-to-many relationship between 2 objects. (I chose unowned because I wasn't sure if I could have an owned many-to-many. Also wasn't sure if lazy loading is available for the children. Is owned the recommended way?) Anyway, I have a *Parent *class in which I have this... @Persistent private SetKey children = new HashSetKey(); In the *Child *class I have this... @Persistent private Key parent = null; I am doing the following: 1) Create a Parent.. This worked. The parent.getId() gives me the Id. 2) While creating a child, I want to attach the child to parent, so I tried several variations such as this: String parentId = parent.getId().toString(); child.setParent(KeyFactory.stringToKey(parentd)); This is NOT working. What's the best way to do this? 3) Also, I need to put the key of child into Parent. As per, Max Ross' presentation at Google I/O this doesn't work in the same transaction. Has that issue been fixed? Is there any tutorial available that shows this? Any help in this regard will be greatly appreciated. Thanks. - Ajay --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, 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] Retrieving Source from GAE
Hi, I had a couple of hard drives die one after the other in a shot period of time so I lost all my source code. Can someone from Google please PLEASE help me retrieve the source from GAE? 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] error jsp.error.beans.property.conversion
Hello, I was trying to run JSF (Mojarra implementation) with google apps engine. I tried both 1.2 and 2.0 versions. My test page was simple, just: f:view h:outputText value=tralala/ /f:view Whenever I tried to view this page (under developer appserver) I received such error: HTTP ERROR: 500 jsp.error.beans.property.conversion RequestURI=/test.faces Caused by: org.apache.jasper.JasperException: jsp.error.beans.property.conversion at org.apache.jasper.runtime.JspRuntimeLibrary.getValueFromPropertyEditorManager (JspRuntimeLibrary.java:885) at org.apache.jsp.test_jsp._jspx_meth_h_outputText_0(test_jsp.java: 123) at org.apache.jsp.test_jsp._jspx_meth_f_view_0(test_jsp.java:98) at org.apache.jsp.test_jsp._jspService(test_jsp.java:62) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94) at javax.servlet.http.HttpServlet.service(HttpServlet.java:806) (...) I looked at compiled test_jsp.java, around line 123. It looked like that: _jspx_th_h_outputText_0.setPageContext(_jspx_page_context); _jspx_th_h_outputText_0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_f_view_0); _jspx_th_h_outputText_0.setValue((javax.el.ValueExpression) org.apache.jasper.runtime.JspRuntimeLibrary.getValueFromPropertyEditorManager (javax.el.ValueExpression.class, value, tralala)); int _jspx_eval_h_outputText_0 = _jspx_th_h_outputText_0.doStartTag(); (...) I guessed it had something to do with Jasper. So I entered the directory google_app_engine/appengine-java-sdk-1.2.2/lib/shared/jsp. There I deleted files repackaged-appengine-jasper-compiler-5.0.28.jar and repackaged-appengine-jasper-runtime-5.0.28.jar. Then I downloaded Tomcat (version 6.0.20) and I found in it files jasper-el.jar, jasper.jar and tomcat-juli.jar. I copied them to google_app_engine/ appengine-java-sdk-1.2.2/lib/shared/jsp. After that error dieappeared. Have any of you encountered problem like that? --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, 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] Transaction collision Retries
I am getting the following error for get_or_insert Transaction collision for entity group with key datastore_types.Key.from_path(..) and then the code goes into a loop where it keep retrying until the app hits DeadlineExceededError. So there are couple of major issues: 1. The whole request took 38113ms to complete before hitting DeadlineExceededError. Since transaction collision can happen for multiple app request at the same time, this can quickly consume all the available app instances. 2. Also, as part of this app request, i was trying to insert 5 records, and app got hung up on the first record itself. Which means rest of the records got dropped Solution needed: A way to break this retry loop so that next records can be processed --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, 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] Queue Rate
In my queue.yaml i defined couple of new queues, besides the existing default queue. For each of these new queues i tried setting the rate to 10/s. On uploading the app i received an error that my rate was 20.0, whereas the max allowed is 10/s. Would this limitation be removed when appengine goes live with billable tasks/queues? Also current this limitation does not throw any error anywhere on localhost. Or maybe it does but i dont know where to look for. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Redeploy all files
If you use the --verbose option of appcfg.py you get a lot of info about what is done and why. 2009/9/3 Daniel Graversen dgraver...@gmail.com: Hi, When I deploy from my project I only get the files which have changed. Is it possible to force a redeployeement of all the files. I think that I'm missing to upload some files. /daniel --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, 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: Retrieving Source from GAE
To upload a zip, I use this (with 7zip) : http://groups.google.com/group/google-appengine/msg/e704e2a64802ba62 On Sep 3, 8:02 pm, djidjadji djidja...@gmail.com wrote: That is not possible Next time upload a zip file with the sources and make it available for admin download. Or use a non crashable backup medium. 2009/9/3 ae gappengin...@gmail.com: Hi, I had a couple of hard drives die one after the other in a shot period of time so I lost all my source code. Can someone from Google please PLEASE help me retrieve the source from GAE? 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] Re: 30 Max simultaneous requests (maxThreads)?
Hi Nick, I am not calling sleep but I am using a server side ArrayBlockingQueue, with methods like queue.poll(waitTime, TimeUnit.SECONDS); So I am not buffering but simply responding with current messages and if there arn't any waiting until some show up and then responding. If no messages show up in 20 seconds or so I respond with a empty message list and then the client sends a new request. I am using GWT's rpc, here is my service api, which is open souce. http://cvs.adligo.org/viewvc/gwt_util/src/org/adligo/gwt/util/client/rpc/MessageService.java?view=markup So I am anticipateing that I will have a lot of threads that are simply waiting on the ArrayBlockingQueue's poll method. This allows me to do things like; 1) send log messages between two browser windows 2) send system messages from a admin console to anyone viewing the app like; (System is going off line in 10 minutes) (There is pizza in the lobby for anyone who wants it) exc 3) Implement a IM client in the browser 4) Send 'event' data between browser windows so a user can click a button in one window and have it do something to another window. Currently the only application of this is to reload the adligo_log.properties file, so you can change your log levels at runtime. However there are a lot of other applications for this, windows can now communicate. Also there shouldn't be much of a drain on the processor, since most of the threads are simply waiting (not doing a lot of processing). It just requires a large number of threads (one per browser window). Cheers, Scott PS I would really like to host on Google Apps, the server http://zeuhl.adligo.com/gwt_util_demo_v3_1/GwtDemo.html?show_log=true was down all morning, since I had my phone turned off to respect for a concert last night I didn't get a 'your server is down' text from hosttracker.com. On Sep 3, 3:51 am, Nick Johnson (Google) nick.john...@google.com wrote: Hi Adligo, The limit on concurrent instances of your app is not a hard one - it will increase as your app gets more traffic. The only situation you're likely to run into it is if you have a lot of requests that take a long time to complete - eg, if you're calling time.sleep() in your request handler. As long as you're serving your requests reasonably efficiently, you can expect the number of concurrent requests your app is allowed to scale up with load. -Nick Johnson On Wed, Sep 2, 2009 at 1:33 AM, Adligo sc...@adligo.com wrote: Hi, I am developing a app (or more than one) that I would like to host on Google App Engine, however the architecture of the app involves cranking up the maxThreads (I am using my home grown hosting which now has Tomcat set to 2,000 maxThreads :) ). For example (1 six+ year old machine in my basement) http://zeuhl.adligo.com/gwt_util_demo_v3_1/GwtDemo.html?show_log=true I was reading somewhere that my app will be limited to 30 Max simultaneous requests (maxThreads), and I didn't see anything about being able to change this (EVEN IF YOU PAY FOR IT). So is it possible to change this? If not why, it should be billable like everything else... How much would it cost? Also I think that it seems like a silly limit (although probably a good starting point for most apps). Some apps need a lot of threads, some have a lot of page requests. For instance my app needs a lot of threads (the above version uses at least 1 per user ALL THE TIME) and will go to 2 per user in the next release :) Or rather to be more specific One thread per open browser window, so I can 'send' data to the browser window in near real time with out having the browser window send a request every millisecond (which causes other problems). So it will be limited to 15 users on Googles App Engine yikes! Cheers, Scott -- Nick Johnson, Developer Programs Engineer, App Engine- Hide quoted text - - Show quoted text - --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, 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: Redeploy all files
Why do you think they're missing? On Sep 3, 6:54 am, Daniel Graversen dgraver...@gmail.com wrote: Hi, When I deploy from my project I only get the files which have changed. Is it possible to force a redeployeement of all the files. I think that I'm missing to upload some files. /daniel --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, 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] static files not served with 304 but with 200 always
I've got a bunch of static javascript files that are served with status code 200 every time I refresh a page. app.yaml: handlers: - url: /js static_dir: js I've tried to set a global: default_expiration: 1h but that doesn't work I couldn't find any discussion about expire or status code 304 in both groups.. some tags that might help other to find this: expire, 304, If-Modified-Since, Last-Modified --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, 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 Analytics and GAE
To any Google people that are listening: Please add support for Google Analytics. It would be great if you could provide your Google Analytics key in the GAE console. When a script receives a query, it would echo data through to Google Analytics (e.g. IP address, HTTP headers, etc). While you can embed the Analytics tracker Javascript in a HTML page, this doesn't work if you're tracking API calls, serving non Javascript pages (e.g. mobile devices, etc). This way you'd be able to run consolidated usage reports on all types of traffic (web, mobile, API calls, etc). Thanks Brian McConnell --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, 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 Analytics and GAE
App Engine has a issue tracker for suggestions... http://code.google.com/p/googleappengine/issues/entry?template=Feature%20request On 03/09/2009, Brian bsmcconn...@gmail.com wrote: To any Google people that are listening: Please add support for Google Analytics. It would be great if you could provide your Google Analytics key in the GAE console. When a script receives a query, it would echo data through to Google Analytics (e.g. IP address, HTTP headers, etc). While you can embed the Analytics tracker Javascript in a HTML page, this doesn't work if you're tracking API calls, serving non Javascript pages (e.g. mobile devices, etc). This way you'd be able to run consolidated usage reports on all types of traffic (web, mobile, API calls, etc). Thanks Brian McConnell -- Barry - www.nearby.org.uk - www.geograph.org.uk - --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, 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] Anyone using fiddler?
I wanted to use fiddler on my local app engine development server. But I get an error from fiddler: [Fiddler] Connection to localhost failed. Exception Text: No connection could be made because the target machine actively refused it ::1:8080 (I'm working on vista, thats why the ipv6 address is show i guess) I tried the usual fiddler workarounds (adding a dot, using machine name), but that didn't work, still actively refusing I need to somehow make the devserver listen to my machine name.. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, 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 Apps Dashboard
You should post your question on: http://www.google.com/support/forum/p/Google+Apps On Wed, Sep 2, 2009 at 6:07 PM, Dickster dick.guer...@gmail.com wrote: I'm not sure if Google Apps Dashboard is covered by the Google Apps Engine discussion group, but since I couldn't find a separate group for it, I'm posting my question here. If there is a better group, please move this to the appropriate group. My question has to do with the symbol displayed for each day in the columns labeled with the mm/dd. There were problems on 9/1/09 with Google Mail, and during that day the wrench symbol has displayed. Today, it still shows that wrench symbol, but when the details are displayed, the last-dated symbol is the blue information symbol. For other applications, like Google Calendar or Google Sites, if information was the last symbol for that day, that's what's displayed on the Dashboard. Why doesn't Google Mail show information for 9/1/09 ?? --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, 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: Merge-Join Performance?
I think the app engine engineers should write a detailed book about app engine, or is there a good book about app engine's details on the market? Jaap On Thu, Sep 3, 2009 at 6:29 PM, Devel63 danstic...@gmail.com wrote: I've watched this video, so I watched again. At first he says he thinks filter order might matter, but then corrects himself based on input from the author of the code to say that filter order has a very small effect. On Sep 2, 5:52 am, Paul Kinlan paul.kin...@gmail.com wrote: There is a video about building scalable apps by Brett Slatkin onhttp:// code.google.com/io At the end of the video it is hinted (I believe - I could be wrong) that the order of your filters matters, so that means that you should choose key with the highest entropy first (my terminology might be incorrect) but if your data is not very unique it should be used later in the merge join query. Paul 2009/9/2 Jai sharma...@gmail.com Also does it use the keyword histogram to optimize the set- intersection performance(AND queries) in merge-join? Regards, Jai On Sep 1, 12:07 pm, Devel63 danstic...@gmail.com wrote: I'm seeing very slow times on some merge-join (zig zag) queries, and just want to confirm that App Engine is smart about these things. In particular, if I have a poperty for which most records have an identical value, does GAE does have to scan the related entire index linearly, or, if I'm in the middle of a merge join, does it intelligently find a good starting point based on the desired __key__ value? Imagine 1M records with a db.BooleanProperty set to False... --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, 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: Anyone using fiddler?
Consider using -a 0.0.0.0 on the dev_appserver commandline. This will bind to ports other than localhost. You may be able to get fiddler to proxy 127.0.0.1 but it's probably easier to use your own machine name and the -a flag. On Sep 3, 2:08 pm, j...@q42.nl j...@q42.nl wrote: I wanted to use fiddler on my local app engine development server. But I get an error from fiddler: [Fiddler] Connection to localhost failed. Exception Text: No connection could be made because the target machine actively refused it ::1:8080 (I'm working on vista, thats why the ipv6 address is show i guess) I tried the usual fiddler workarounds (adding a dot, using machine name), but that didn't work, still actively refusing I need to somehow make the devserver listen to my machine name.. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, 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 Apps Dashboard
Thank you. I've re-posted to the Google Apps Help forum. I expect answers from the forum. This thread is done (for me). Dickster On Sep 3, 2:16 pm, Jaap Taal j...@q42.nl wrote: You should post your question on: http://www.google.com/support/forum/p/Google+Apps On Wed, Sep 2, 2009 at 6:07 PM, Dickster dick.guer...@gmail.com wrote: I'm not sure if Google Apps Dashboard is covered by the Google Apps Engine discussion group, but since I couldn't find a separate group for it, I'm posting my question here. If there is a better group, please move this to the appropriate group. My question has to do with the symbol displayed for each day in the columns labeled with the mm/dd. There were problems on 9/1/09 with Google Mail, and during that day the wrench symbol has displayed. Today, it still shows that wrench symbol, but when the details are displayed, the last-dated symbol is the blue information symbol. For other applications, like Google Calendar or Google Sites, if information was the last symbol for that day, that's what's displayed on the Dashboard. Why doesn't Google Mail show information for 9/1/09 ?? --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, 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: CPU Quota
Hi Cornel, One possible cause that the data upload might be more expensive the second time around is if you had created indexes after the initial upload. If you have a large amount of data and your application is not yet being used, it is often best to upload the data, then create indexes. The index creation time might be longer, but you'll save on API CPU cost. This is just one possibility, I think I'd need to know more about your application. Thank you, Jeff On Tue, Sep 1, 2009 at 9:05 AM, Cornel corneliu.lupu...@gmail.com wrote: Hello! I tried to upload my database from a *.csv file using the appcfg.py tool. The file has about 35MB. The first time i uploaded (several weeks ago) it consumed about 70% CPU Quota. Later i deleted the database. Today i tried to upload again, but the quota got 95% and it only uploaded about half of the database. (I also got a lot of HTTPError: HTTP Error 403: Forbidden errors). My question is, where does the difference in CPU Quota come from (considering it was the same script and the same input file) ? --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, 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] Is there any open source project/ticket management app that can be deployed on App Engine?
I have just started with GAE and one of the things I'd like to do is deploy something like Trac or RedMine to track the project we are working on. Unfortunately Trac doesnt work on GAE since it needs MySQL or similar relational database. Is there any app for tracking projects/ ticket management for GAE? thanks -arpit --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, 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] Upload local datastore content to App Engine
Hello everyone, I'm new to GAE and I am currently trying to move a website of mine to this platform. re-write the PHP code into python was really easy. However, I'm now trying to move data from an mySQL database into the GAE datastore. I was previously storing images in a directory in the server file system, so I successfully wrote a script that fetch them and store them in the local datastore. The script works in dev server because they have no timeout, but the GAE servers do. I tried to download the local datastore into CSV files that could be uploaded using the bulkloader method but got the following error: AssertionError: No api proxy found for service datastore_v3 I guess dev servers do not emulate this functionality. Is there some way I could use to upload local datastore to the production one ? Thank you, Folken --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] running a long process once
I am converting a legacy project to a new developed java project on GAE. I exported the old data into an XML file and want to parse it and add to GAE once. However it takes around 30 seconds to read and create new data structure on my local machine and this is why I can not run it on GAE even if, it should only called once. Any suggestions for long batch operations on GAE? 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] Text based RPG
I'm really new with python and google appengine and I'm still trying to figure out how to work things with it. I'm going to try and make a text based rpg and I was wondering if anyone could give me some pointers and easy ways to get me started. Thanks for any help given :) --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, 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] Verification SMS not received
I have a problem with Verify Your Account by SMS page. Does anyone know how to verify one's account if you are living in Argentina and using Movistar as carrier? I entered my number in the format required (it was validated ok), and the SMS was sent as stated on the screen, but I never received the SMS code. I tried many times with no success. There's any other way to verify my account? thanks in advance, regards, Damian --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, 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] Deploy Application From Code
Hé, It is possible to deploy application to cloud from code(Java). 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] Re: Random HTTP 500 errors
Hey , why not remove all try-except block and set debug=False in WSGIApplication, Then Google will log the error for you . On 8月31日, 下午11时42分, vp vivpu...@gmail.com wrote: Can anyone from Google give me an update on this issue. Right now my app is hovering at 1 Request/Second with an error rate of .5 Errors/ Second. As i have mentioned earlier, 99% of these errors clearly say ...500 10096ms 0cpu_ms 0kb..., which from what i can understand shows the request never gets to the actual request handler code. Thanks -V --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, 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: Random HTTP 500 errors
One of the new features of today's release is that if you expand the logs for 500s in the admin console, you should see the reason. On Sep 3, 6:00 pm, GIMME ba...@gimme.org wrote: Hey , why not remove all try-except block and set debug=False in WSGIApplication, Then Google will log the error for you . On 8月31日, 下午11时42分, vp vivpu...@gmail.com wrote: Can anyone from Google give me an update on this issue. Right now my app is hovering at 1 Request/Second with an error rate of .5 Errors/ Second. As i have mentioned earlier, 99% of these errors clearly say ...500 10096ms 0cpu_ms 0kb..., which from what i can understand shows the request never gets to the actual request handler code. Thanks -V --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, 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] Terms of Service Question
What does this mean? 4.4. You may not develop multiple Applications to simulate or act as a single Application or otherwise access the Service in a manner intended to avoid incurring fees. The second part is very vague. Are we allowed to have multiple iPhone apps use the same app engine app? --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, 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: Upload local datastore content to App Engine
One of the new features of today's release is a --dump and --restore flag in the bulkloader, allowing configurationless download and restore of a dataset. It should work for exactly this scenario: you have data in one instance (say on dev_appserver) and want to upload it to another (say on appspot.com). You can find more information at http://code.google.com/appengine/docs/python/tools/uploadingdata.html#Downloading_and_Uploading_All_Data I'm not sure about the datastore_v3 error, but it may also be something we fixed. --Matthew On Sep 3, 11:35 am, FolkenDA folke...@gmail.com wrote: Hello everyone, I'm new to GAE and I am currently trying to move a website of mine to this platform. re-write the PHP code into python was really easy. However, I'm now trying to move data from an mySQL database into the GAE datastore. I was previously storing images in a directory in the server file system, so I successfully wrote a script that fetch them and store them in the local datastore. The script works in dev server because they have no timeout, but the GAE servers do. I tried to download the local datastore into CSV files that could be uploaded using the bulkloader method but got the following error: AssertionError: No api proxy found for service datastore_v3 I guess dev servers do not emulate this functionality. Is there some way I could use to upload local datastore to the production one ? Thank you, Folken --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, 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: running a long process once
The typical answer is to split up your operation. You solve this particular problem in a few ways: * Split the data--if it only takes about 30 seconds to parse your entire file, then splitting it into two should easily get you under the 30 second limit on the server. Do note that the performance characteristics of the datastore are quite different on the server than in dev_appserver. * Use remote_api -- write your translation tool with remote_api in mind and run it locally but pointing at your production datastore. * Use the bulkloader -- effectively the same thing, wrapped in some code which handles backoff and such for you. However this may be difficult. * Run it locally, importing into dev_appserver, and use the new -- dump and --restore feature of the bulkloader to move the data to your app on App Engine. http://code.google.com/appengine/docs/python/tools/uploadingdata.html http://code.google.com/appengine/articles/remote_api.html --Matthew On Sep 3, 11:43 am, dogan kaya berktas dkberk...@gmail.com wrote: I am converting a legacy project to a new developed java project on GAE. I exported the old data into an XML file and want to parse it and add to GAE once. However it takes around 30 seconds to read and create new data structure on my local machine and this is why I can not run it on GAE even if, it should only called once. Any suggestions for long batch operations on GAE? 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] Re: running a long process once
Another option is to use task_queue on the server. Upload your entire file (either as a string to your datastore, or as source code if it's a one time operation, or use urlfetch to retreive it into memcache or similar). Then process it line by line with the task queue API. On Sep 3, 7:26 pm, Matthew Blain matthew.bl...@google.com wrote: The typical answer is to split up your operation. You solve this particular problem in a few ways: * Split the data--if it only takes about 30 seconds to parse your entire file, then splitting it into two should easily get you under the 30 second limit on the server. Do note that the performance characteristics of the datastore are quite different on the server than in dev_appserver. * Use remote_api -- write your translation tool with remote_api in mind and run it locally but pointing at your production datastore. * Use the bulkloader -- effectively the same thing, wrapped in some code which handles backoff and such for you. However this may be difficult. * Run it locally, importing into dev_appserver, and use the new -- dump and --restore feature of the bulkloader to move the data to your app on App Engine. http://code.google.com/appengine/docs/python/tools/uploadingdata.htmlhttp://code.google.com/appengine/articles/remote_api.html --Matthew On Sep 3, 11:43 am, dogan kaya berktas dkberk...@gmail.com wrote: I am converting a legacy project to a new developed java project on GAE. I exported the old data into an XML file and want to parse it and add to GAE once. However it takes around 30 seconds to read and create new data structure on my local machine and this is why I can not run it on GAE even if, it should only called once. Any suggestions for long batch operations on GAE? 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] Re: Terms of Service Question
I'm not a google employee or a lawyer, but the intention is you can't take 10 free accounts, to get 10 gigs of download a day, instead of having 1 account which would pay $1.20 a day for that same download capacity. -Original Message- From: google-appengine@googlegroups.com [mailto:google-appeng...@googlegroups.com] On Behalf Of Amir Michail Sent: Thursday, September 03, 2009 7:24 PM To: Google App Engine Subject: [google-appengine] Terms of Service Question What does this mean? 4.4. You may not develop multiple Applications to simulate or act as a single Application or otherwise access the Service in a manner intended to avoid incurring fees. The second part is very vague. Are we allowed to have multiple iPhone apps use the same app engine app? --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, 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: Terms of Service Question
On Sep 3, 10:40 pm, Brandon N. Wirtz drak...@digerat.com wrote: I'm not a google employee or a lawyer, but the intention is you can't take 10 free accounts, to get 10 gigs of download a day, instead of having 1 account which would pay $1.20 a day for that same download capacity. If it is/will be possible to pay to get more GAE apps, then having multiple iPhone apps use the same GAE app is a way to avoid incurring fees. Amir -Original Message- From: google-appengine@googlegroups.com [mailto:google-appeng...@googlegroups.com] On Behalf Of Amir Michail Sent: Thursday, September 03, 2009 7:24 PM To: Google App Engine Subject: [google-appengine] Terms of Service Question What does this mean? 4.4. You may not develop multiple Applications to simulate or act as a single Application or otherwise access the Service in a manner intended to avoid incurring fees. The second part is very vague. Are we allowed to have multiple iPhone apps use the same app engine app? --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, 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: Terms of Service Question
On Sep 3, 10:40 pm, Brandon N. Wirtz drak...@digerat.com wrote: I'm not a google employee or a lawyer, but the intention is you can't take 10 free accounts, to get 10 gigs of download a day, instead of having 1 account which would pay $1.20 a day for that same download capacity. If it is/will be possible to pay to get more than 10 GAE apps, then having multiple iPhone apps use the same GAE app is a way to avoid incurring fees. -Original Message- From: google-appengine@googlegroups.com [mailto:google-appeng...@googlegroups.com] On Behalf Of Amir Michail Sent: Thursday, September 03, 2009 7:24 PM To: Google App Engine Subject: [google-appengine] Terms of Service Question What does this mean? 4.4. You may not develop multiple Applications to simulate or act as a single Application or otherwise access the Service in a manner intended to avoid incurring fees. The second part is very vague. Are we allowed to have multiple iPhone apps use the same app engine app? --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, 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: Random HTTP 500 errors
Yes saw that. Nick had already contacted me via email about the same. 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] Re: HELP ??? WARNING _init_.py Responce written is not utf-8
You have a Character it doesn't like... Slanted quotes? Slanted apostrophe rather than single Quote non-english character? -Original Message- From: google-appengine@googlegroups.com [mailto:google-appeng...@googlegroups.com] On Behalf Of oldcomputer Sent: Thursday, September 03, 2009 8:23 PM To: Google App Engine Subject: [google-appengine] HELP ??? WARNING _init_.py Responce written is not utf-8 WARNING _init_.py Responce written is not utf-8 0x9a in position 2626: unexpected code byte HELP does anyone know what this error message in the dev_appserver is telling me ?? --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, 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: running a long process once
Segment the import, then import in sections. Ie Rows 1-500 then rows 501-1000. You might also use your local machine running the code to talk to the remote app in baby steps Parse data to new format, Post to GAE App, GAE app Writes to GQL or where ever... Rinse, repeat. -Original Message- From: google-appengine@googlegroups.com [mailto:google-appeng...@googlegroups.com] On Behalf Of dogan kaya berktas Sent: Thursday, September 03, 2009 11:44 AM To: Google App Engine Subject: [google-appengine] running a long process once I am converting a legacy project to a new developed java project on GAE. I exported the old data into an XML file and want to parse it and add to GAE once. However it takes around 30 seconds to read and create new data structure on my local machine and this is why I can not run it on GAE even if, it should only called once. Any suggestions for long batch operations on GAE? 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] Can't Update SDK?
Hi, guys. I'm running the App Engine SDK version 1.2.4 on OS X Snow Leopard. I just saw on Twitter that version 1.2.5 has been released. However, when I click on Help - Check for Updates..., it pops up a window that says, Check successful. No updates needed, or none chosen for install. What gives? Thanks, Raj --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: HELP ??? WARNING _init_.py Responce written is not utf-8
thanks a million ! but i cant find the char ? the warning is the very first line in the the request so would this indicate its in the main.py main handler ,,,or anywhere in the app On Sep 3, 11:06 pm, Brandon N. Wirtz drak...@digerat.com wrote: You have a Character it doesn't like... Slanted quotes? Slanted apostrophe rather than single Quote non-english character? -Original Message- From: google-appengine@googlegroups.com [mailto:google-appeng...@googlegroups.com] On Behalf Of oldcomputer Sent: Thursday, September 03, 2009 8:23 PM To: Google App Engine Subject: [google-appengine] HELP ??? WARNING _init_.py Responce written is not utf-8 WARNING _init_.py Responce written is not utf-8 0x9a in position 2626: unexpected code byte HELP does anyone know what this error message in the dev_appserver is telling me ?? --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: HELP ??? WARNING _init_.py Responce written is not utf-8
oops FOUND IT THANKS AGAIN was the c in copyright symbol On Sep 3, 11:38 pm, oldcomputer computer...@yahoo.com wrote: thanks a million ! but i cant find the char ? the warning is the very first line in the the request so would this indicate its in the main.py main handler ,,,or anywhere in the app On Sep 3, 11:06 pm, Brandon N. Wirtz drak...@digerat.com wrote: You have a Character it doesn't like... Slanted quotes? Slanted apostrophe rather than single Quote non-english character? -Original Message- From: google-appengine@googlegroups.com [mailto:google-appeng...@googlegroups.com] On Behalf Of oldcomputer Sent: Thursday, September 03, 2009 8:23 PM To: Google App Engine Subject: [google-appengine] HELP ??? WARNING _init_.py Responce written is not utf-8 WARNING _init_.py Responce written is not utf-8 0x9a in position 2626: unexpected code byte HELP does anyone know what this error message in the dev_appserver is telling me ?? --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, 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: Text based RPG
On Sep 3, 9:57 pm, Matthew Kramer ran...@gmail.com wrote: I'm really new with python and google appengine and I'm still trying to figure out how to work things with it. I'm going to try and make a text based rpg and I was wondering if anyone could give me some pointers and easy ways to get me started. Thanks for any help given :) Common types are adventure, world, place, actor, thing, player, view, command, and prioqueue. We may view an adventure in a view in a world looking for some special thing. Important are both classes ie thing with name and subclasses to food, tools, or creatues and also wellchosen data structures to serve the purpose: a prio queue with future, a binary tree to store the gamepath or a more advanced trie structure and store actions taken on a stack to quickly access way back and last move in a maze. A classic maze à la Zork, thing like Dallas Quest or any classic renewed will be fun. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, 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: Text based RPG
Python isn't an ideal language for this... HTML Choose your own Adventure doesn't require any Python to work. The Traditional Python Games don't use the web to render and can run in realtime but doing that in html is a bit different... If you want to learn Python, and don't care if you learn GAE at the same time you should check out http://www.pygame.org -Brandon Wirtz -Original Message- From: google-appengine@googlegroups.com [mailto:google-appeng...@googlegroups.com] On Behalf Of niklasr Sent: Thursday, September 03, 2009 10:11 PM To: Google App Engine Subject: [google-appengine] Re: Text based RPG On Sep 3, 9:57 pm, Matthew Kramer ran...@gmail.com wrote: I'm really new with python and google appengine and I'm still trying to figure out how to work things with it. I'm going to try and make a text based rpg and I was wondering if anyone could give me some pointers and easy ways to get me started. Thanks for any help given :) Common types are adventure, world, place, actor, thing, player, view, command, and prioqueue. We may view an adventure in a view in a world looking for some special thing. Important are both classes ie thing with name and subclasses to food, tools, or creatues and also wellchosen data structures to serve the purpose: a prio queue with future, a binary tree to store the gamepath or a more advanced trie structure and store actions taken on a stack to quickly access way back and last move in a maze. A classic maze à la Zork, thing like Dallas Quest or any classic renewed will be fun. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---