[appengine-java] Re: Can't see new objects in the same transaction
Wow man!! That works fine!! Thanks a lot... On Feb 2, 10:42 am, Nichole nichole.k...@gmail.com wrote: You'll want to use flush() instead of refresh(). flush() saves your current state to the datastore and because they are not detached, the entities within your transaction will already be in sync. If you use refresh(), you are tossing any changes you made to your entities and fetching the last state from the datastore. On Feb 1, 2:22 am, Fernando Jorge Santos nann...@gmail.com wrote: Hi all, I'm new in JPA / JDO and I'm totally sure I'm doing something wrong. I don't know why I can't see children objects in the same transactions using the same PM // Here I got the DatastoreEntityManager (id=92) DAO dao = DAO.getInstance(DAO.JPA, requestor); // Here I got the DatastoreEntityTransactionImpl (id=94) dao.startTransaction() // Then I create and maker persistent a new Department (id=114) // It uses the same DatastoreEntityManager (id=92) and DatastoreEntityTransactionImpl (id=94) Department department = new Department() department.setName(New department); dao.persist(department); dao.refresh(department); // Then I create and make persistent a new Account (id=224) Account account = new Account(); account.setNumber(12345); account.setDepartment(department); // Owned relationship working fine dao.persist(account); dao.refresh(account); // Now I'm testing it department.getId() // returns Department(22) account.getId() // returns Department(22)/Account(24) department.getAccounts(); // Returns an empty list __ At some point down the line I gotta get the accounts in the same transaction to use in another entity. I've tried to add manually the new Account to the* Department.accounts* field but when I tried to do it I get *javax.jdo.JDODetachedFieldAccessException:* You have just attempted to access property accounts yet this property was not detached when you detached the object. Either dont access this property, or detach it when detaching the object. Does someone faced the same?? I'm loosing my hair with this!! Thanks guys! -- 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] Can't see new objects in the same transaction
Hi all, I'm new in JPA / JDO and I'm totally sure I'm doing something wrong. I don't know why I can't see children objects in the same transactions using the same PM // Here I got the DatastoreEntityManager (id=92) DAO dao = DAO.getInstance(DAO.JPA, requestor); // Here I got the DatastoreEntityTransactionImpl (id=94) dao.startTransaction() // Then I create and maker persistent a new Department (id=114) // It uses the same DatastoreEntityManager (id=92) and DatastoreEntityTransactionImpl (id=94) Department department = new Department() department.setName(New department); dao.persist(department); dao.refresh(department); // Then I create and make persistent a new Account (id=224) Account account = new Account(); account.setNumber(12345); account.setDepartment(department); // Owned relationship working fine dao.persist(account); dao.refresh(account); // Now I'm testing it department.getId() // returns Department(22) account.getId() // returns Department(22)/Account(24) department.getAccounts(); // Returns an empty list __ At some point down the line I gotta get the accounts in the same transaction to use in another entity. I've tried to add manually the new Account to the* Department.accounts* field but when I tried to do it I get *javax.jdo.JDODetachedFieldAccessException:* You have just attempted to access property accounts yet this property was not detached when you detached the object. Either dont access this property, or detach it when detaching the object. Does someone faced the same?? I'm loosing my hair with this!! Thanks guys! -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine-java/-/ukeIAZZOS0MJ. To post to this group, send email to google-appengine-java@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
Re: [appengine-java] Re: Problem With JPA and Google Engine
First of all thank you very much. This is my persistence.xml ?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=jocual providerorg.datanucleus.store.appengine.jpa.DatastorePersistenceProvider/provider properties property name=datanucleus.NontransactionalRead value=true/ property name=datanucleus.NontransactionalWrite value=true/ property name=datanucleus.ConnectionURL value=appengine/ /properties /persistence-unit /persistence And my proyect incluyed the datanucleus.jpa-1.1.5.jar , do you know that i need other jar version? , where can i obtain it? El 31/05/2011 10:04, Erwin Streur escribió: What is the provider you have defined in the presistence.xml? Is it org.datanucleus.store.appengine.jpa.DatastorePersistenceProvider? The missing class, ProviderUtil, is from JPA 2.0. Since Google provides JPA 1.0, it is not so surprising that the class can not be found. On May 28, 8:10 pm, Jorge Cuerdo Álvarezjoc...@gmail.com wrote: Hello, i have a problem With JPA and Google Engine, i have one trial web applicationhttp://jocual.appspot.com/index.jspand it works good with JDO but when i use JPA it report the next error: Caused by: java.lang.NoClassDefFoundError: javax/persistence/spi/ ProviderUtil at com.google.appengine.runtime.Request.process-2e0607ad3b5a947f(Request.java) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:132) at javax.persistence.Persistence.createFactory(Persistence.java:160) at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java: 112) at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java: 66) at com.presentacion.EMF.clinit(EMF.java:6) at com.presentacion.PersistenceActionJPA.execute(PersistenceActionJPA.java: 38) And i have a persistence.xml and all the anotations and all the jar´s incluyed in the proyect, i dont know what is happen? -- 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] Problem With JPA and Google Engine
Hello, i have a problem With JPA and Google Engine, i have one trial web application http://jocual.appspot.com/index.jsp and it works good with JDO but when i use JPA it report the next error: Caused by: java.lang.NoClassDefFoundError: javax/persistence/spi/ ProviderUtil at com.google.appengine.runtime.Request.process-2e0607ad3b5a947f(Request.java) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:132) at javax.persistence.Persistence.createFactory(Persistence.java:160) at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java: 112) at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java: 66) at com.presentacion.EMF.clinit(EMF.java:6) at com.presentacion.PersistenceActionJPA.execute(PersistenceActionJPA.java: 38) And i have a persistence.xml and all the anotations and all the jar´s incluyed in the proyect, i dont know what is happen? -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-java@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
Re: [appengine-java] naked domain
I have done it with godaddy.com and 1and1.com On Tue, Nov 23, 2010 at 2:04 PM, pman pollk...@gmail.com wrote: which domain name registrar allows naked domain forward to www,mydomain.com (using google appengine)? i.e. mydomain.com -- forward to -- www,mydomain.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-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.comgoogle-appengine-java%2bunsubscr...@googlegroups.com . For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@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] 5 warmups required before success
This is silly, but yesterday night it worked! My app runs a cron job everyday at 2am my time (8:00 GMT). Often the job fails because of a timeout. You know, those timeouts one gets because the virtual server won't start. Then I tried this silly solution. I run 5 dummy jobs 5, 4, 3, 2 and 1 minutes before the real one. Very funny, but yesterday night the 5 dummy jobs failed. Nevertheless, the real cron job started and ran OK!!! Come on, Google! This timeout problem has taken way too long to be solved. We were planning on going live with out app next Quarter. Now we are evaluating alternatives to move to another platform. We have spent over 6 months working on GAE and it looks like a wasted effort. /cronjob/DummyJob GAE warm up before recording charges for overdue payments @ 08:00 GMT every day 07:55 (UTC) 2010-03-10 07:55:02 on time Failed /cronjob/DummyJob GAE warm up before recording charges for overdue payments @ 08:00 GMT every day 07:56 (UTC) 2010-03-10 07:56:02 2 secs late Failed /cronjob/DummyJob GAE warm up before recording charges for overdue payments @ 08:00 GMT every day 07:57 (UTC) 2010-03-10 07:57:01 on time Failed /cronjob/DummyJob GAE warm up before recording charges for overdue payments @ 08:00 GMT every day 07:58 (UTC) 2010-03-10 07:58:01 on time Failed /cronjob/DummyJob GAE warm up before recording charges for overdue payments @ 08:00 GMT every day 07:59 (UTC) 2010-03-10 07:59:01 on time Failed /cronjob/PaymentsOverdueCharge Record charges for overdue payments @ 08:00 GMT every day 08:00 (UTC) 2010-03-10 08:00:01 on time Success Jorge Gonzalez -- 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-j...@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: 5 warmups required before success
Hi Nacho, I agree with you. GAE is great in many aspects. The cold-start/timeout issue is probably my only concern, too. But the sad thing is that is an absolute killer. Slow response times are a bad thing, but aborting cron jobs because of virtual server start issues is unacceptable, at least in my app. That makes my app completely unreliable, worthless, so to speak. Jorge Gonzalez On Mar 10, 6:58 am, Nacho Coloma icol...@gmail.com wrote: Actually this is the one and single thing that makes my GAE experience kind of bittersweet. I am still recommending the platform to friends and colleagues, but mentioning the cold start problem up front. Setting this feature/bug to high priority would be most welcome. I think this is the most followed issue in GAE ever. On Mar 10, 12:48 pm, Jorge athenas...@gmail.com wrote: This is silly, but yesterday night it worked! My app runs a cron job everyday at 2am my time (8:00 GMT). Often the job fails because of a timeout. You know, those timeouts one gets because the virtual server won't start. Then I tried this silly solution. I run 5 dummy jobs 5, 4, 3, 2 and 1 minutes before the real one. Very funny, but yesterday night the 5 dummy jobs failed. Nevertheless, the real cron job started and ran OK!!! Come on, Google! This timeout problem has taken way too long to be solved. We were planning on going live with out app next Quarter. Now we are evaluating alternatives to move to another platform. We have spent over 6 months working on GAE and it looks like a wasted effort. /cronjob/DummyJob GAE warm up before recording charges for overdue payments @ 08:00 GMT every day 07:55 (UTC) 2010-03-10 07:55:02 on time Failed /cronjob/DummyJob GAE warm up before recording charges for overdue payments @ 08:00 GMT every day 07:56 (UTC) 2010-03-10 07:56:02 2 secs late Failed /cronjob/DummyJob GAE warm up before recording charges for overdue payments @ 08:00 GMT every day 07:57 (UTC) 2010-03-10 07:57:01 on time Failed /cronjob/DummyJob GAE warm up before recording charges for overdue payments @ 08:00 GMT every day 07:58 (UTC) 2010-03-10 07:58:01 on time Failed /cronjob/DummyJob GAE warm up before recording charges for overdue payments @ 08:00 GMT every day 07:59 (UTC) 2010-03-10 07:59:01 on time Failed /cronjob/PaymentsOverdueCharge Record charges for overdue payments @ 08:00 GMT every day 08:00 (UTC) 2010-03-10 08:00:01 on time Success Jorge Gonzalez -- 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-j...@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: 5 warmups required before success
Hi Nacho, I agree with you. GAE is great in many aspects. The cold-start/timeout issue is probably my only concern, too. But the sad thing is that is an absolute killer. Slow response times are a bad thing, but exceptions in the cron jobs because of virtual server start issues is unacceptable, at least in my app. That makes my app completely unreliable, worthless, so to speak. Jorge Gonzalez On Mar 10, 6:58 am, Nacho Coloma icol...@gmail.com wrote: Actually this is the one and single thing that makes my GAE experience kind of bittersweet. I am still recommending the platform to friends and colleagues, but mentioning the cold start problem up front. Setting this feature/bug to high priority would be most welcome. I think this is the most followed issue in GAE ever. On Mar 10, 12:48 pm, Jorge athenas...@gmail.com wrote: This is silly, but yesterday night it worked! My app runs a cron job everyday at 2am my time (8:00 GMT). Often the job fails because of a timeout. You know, those timeouts one gets because the virtual server won't start. Then I tried this silly solution. I run 5 dummy jobs 5, 4, 3, 2 and 1 minutes before the real one. Very funny, but yesterday night the 5 dummy jobs failed. Nevertheless, the real cron job started and ran OK!!! Come on, Google! This timeout problem has taken way too long to be solved. We were planning on going live with out app next Quarter. Now we are evaluating alternatives to move to another platform. We have spent over 6 months working on GAE and it looks like a wasted effort. /cronjob/DummyJob GAE warm up before recording charges for overdue payments @ 08:00 GMT every day 07:55 (UTC) 2010-03-10 07:55:02 on time Failed /cronjob/DummyJob GAE warm up before recording charges for overdue payments @ 08:00 GMT every day 07:56 (UTC) 2010-03-10 07:56:02 2 secs late Failed /cronjob/DummyJob GAE warm up before recording charges for overdue payments @ 08:00 GMT every day 07:57 (UTC) 2010-03-10 07:57:01 on time Failed /cronjob/DummyJob GAE warm up before recording charges for overdue payments @ 08:00 GMT every day 07:58 (UTC) 2010-03-10 07:58:01 on time Failed /cronjob/DummyJob GAE warm up before recording charges for overdue payments @ 08:00 GMT every day 07:59 (UTC) 2010-03-10 07:59:01 on time Failed /cronjob/PaymentsOverdueCharge Record charges for overdue payments @ 08:00 GMT every day 08:00 (UTC) 2010-03-10 08:00:01 on time Success Jorge Gonzalez -- 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-j...@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: Will a solution to the Java load latency come in Q2?
There are dozens of threads with this topic and the discussions go on and on. Many ask, many complain, and nobody answers with commitment (Google). Some suggest the stupid solution of pinging your app every so often. No offense, Timofy Koolin, I use the same stupid solution myself!!! Me too I'm planning on going live on Q2 and I am really concerned about the feasibility of that because of the long latency on cold starts and worst, the servlets (e.g. cron jobs) dieing because of that. I think many of us see this as a major issue. I wish there was a clear commitment with goals and dates from Google. Jorge Gonzalez On Feb 23, 10:56 pm, Timofey Koolin timo...@koolin.ru wrote: Hello, for fast first load applications for user I set shedule for get main page of my application every minute. On Feb 23, 6:30 pm, Locke locke2...@gmail.com wrote: I plan on going live with my app in Q2, however, I can't subject my users to App Engine's Java loading delays. I recall that there has been talk of giving paying users the ability to keep at least one instance of their Java apps hot at all times. What are the chances of such a solution becoming available by the end of Q2? If this solution or some other solution to this problem is unlikely to be available in the next few months, I will reluctantly have to begin porting my app to another platform. Anyone know the status of this issue? Any info on the topic is appreciated. 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-j...@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: Using GAE Platform Outside of Google
Hello Greg, A report, or simple general comments of your findings, when available, would be greatly appreciated! Thanks, Jorge Gonzalez On Feb 19, 10:35 pm, Greg Marine gregmar...@iccnet.org wrote: Thanks Jeff! I'll have a look at this. I really appreciate it! Greg On Feb 19, 1:59 pm, Jeff Schnitzer j...@infohazard.org wrote: There is this: http://appscale.cs.ucsb.edu/http://code.google.com/p/appscale/ I have no idea how mature or stable it is. JeffOn Thu, Feb 18, 2010 at 2:58 PM, Greg Marine gregmar...@iccnet.org wrote: Hello All! I am evaluating GAE/Java for some of my projects and came across a scenario I can't seem to find any information on. I am porting an application I would normally have available through GAE, but have a client who wants to keep everything housed onsite. I'm assuming the development server would not be appropriate for such an implementation. So, is there a version of GAE available to install on a server in such an environment or can the GAE classes be used in another servlet container such as Tomcat? This would also be the case if someone were to want to use the software offline using localhost. I understand this isn't exactly an ideal scenario. However, I thought I would at least ask. Thank you, Greg -- 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-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group athttp://groups.google.com/group/google-appengine-java?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@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: problem with Datastore quotas
Hi Dimitar, This is an idea. Take a closer look to your _ah_SESSION kind. It is possible you are storing huge session data and it remains there after the sessions expire. If that is the case, you probably want to clean your expired sessions periodically. Jorge Gonzalez On Feb 1, 1:05 pm, dmakariev ani...@gmail.com wrote: Hi again, I've read the documentation. and cannot find anything related to my datastore growth :(, I'm not using indexes. It is quite simple application, demonstrating the usage of JSF 2. I'm using session, and I've included the SessionCleanupServlet in my web.xml. It is started every hour. So the number of entities in _ah_SESSION is round 40 . My other suspect was the log file. I couldn't find any description about where the log files are stored. But I've updated the version number of the application.. deleted the old one with the big log files, and still the total used datastore quota didn't decrease. my current status is 35% of Total Stored Data and at the same time : Size of all entities 414 KBytes I'll be really happy to know where and how to manage properly the datastore space. Best Regards: Dimitar Makariev On Feb 1, 1:38 am, John Patterson jdpatter...@gmail.com wrote: On the page that shows those details is a link to a doc that explains where the extra space is used. Probably indexes could consume a lot. On 1 Feb 2010, at 16:29, dmakariev wrote: Hi all, I have the following problem : my quotas show the following : Total Stored Data 26% 0.26 of 1.00 GBytes Okay at the same time Datastore Statistics is showing : Size of all entities: 5 MBytes Breakdown by Property Type Property Type Size Blob 5 MBytes String 14 KBytes Integer 12 KBytes Date/Time 4 KBytes User 51 Bytes NULL 24 Bytes Metadata 71 KBytes And I have no idea where is the datastore space disappearing.. my app id is sandcode Does anybody has idea ? I'll appreciate your advices.. Best Regards: Dimitar Makariev -- 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 athttp://groups.google.com/group/google-appengine-java?hl=en . -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@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 can I install my GAE application into other user accounts?
Hi Mike, You may want to see the Selling App Engine Apps thread in the Google App Engine group. The 3rd post, by Brian Flood, explain his approach to your question and it is pretty cleaver. http://groups.google.com/group/google-appengine/browse_thread/thread/4ce497229c8ff0aa?hl=en# Jorge Gonzalez On Jan 29, 12:25 pm, mjustin michael.jus...@gmx.net wrote: Hello Ikai, Yes, I understand that I need to change the ID because the recipient can not use the same name for the copy. But I need access to the other users account, so I think he/she has to grant me access on his App Engine account (by inviting me). SO I do not need to have user email and password for the the recipient account. I just can not test it myself as I have only one Google account :) Regards, Michael On 28 Jan., 20:14, Ikai L (Google) ika...@google.com wrote: You should just be able to change the application ID in application-web.xml and push it. On Thu, Jan 28, 2010 at 8:23 AM, mjustin michael.jus...@gmx.net wrote: Hello, is there a way to copy my GAE application into somebody elses account? I would like to make it as easy as possible for the recipient, so he/ she should not need the GAE SDK installed. I have seen that there is a way to invite a Developer to Collaborate on an Application. So my idea is * the recipient creates a new application and then invites me as a developer * I can upload the app to his/her account Is this possible? Many thanks in advance, Michael -- 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-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.comgoogle-appengine-java%2bunsubscr...@googlegroups.com . For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en. -- Ikai Lan Developer Programs Engineer, Google App Enginehttp://googleappengine.blogspot.com|http://twitter.com/app_engine -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@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: App Engine cold starts and overly aggressive cycling
Ikai, Me too I can report an improved response time and no datastote timeout exceptions the past couple of days. I have no measurements so far, but the improvement is noticeable. I'll certainly keep watching and let you know of any relevant issues. Thanks! Jorge Gonzalez On Jan 22, 9:10 pm, James Cooper jamespcoo...@gmail.com wrote: Ikai, Great news. I can report that I'm seeing FAR fewer cold starts today. So thank you! Would still love to see this implemented: http://code.google.com/p/googleappengine/issues/detail?id=2456 cheers -- James -- 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-j...@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: App Engine cold starts and overly aggressive cycling
- What is your application ID? wcondominios - How do you know it is being cycled out? You'll need to insert some code that only gets called when the app cold starts. I just see incredibly long response times. This, for instance: # 01-16 04:29AM 02.107 / 302 4752ms 6718cpu_ms 126api_cpu_ms 0kb Mozilla/ 5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/532.0 (KHTML, like Gecko) Chrome/3.0.195.38 Safari/532.0,gzip(gfe) See details While the usual, once the app is warm is more like this: # 01-16 04:30AM 20.341 / 302 183ms 191cpu_ms 95api_cpu_ms 0kb Mozilla/ 5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/532.0 (KHTML, like Gecko) Chrome/3.0.195.38 Safari/532.0,gzip(gfe) See details - How much time of inactivity does it take before your application is cycled out? Very random, from a few seconds to a few hours. - What time or days does this seem to happen? Random - What frameworks or libraries are you loading? None. Plain JSPs and Servlets Hope this helps. This is one of the major concerns i have after having adopted GAE to host this app. I see this as an issue in the current preview GAE and I am confident it will be solved some time soon. Thanks, Jorge Gonzalez On Jan 15, 5:32 pm, Ikai Lan i...@google.com wrote: Hey everybody, We've been seeing more and more reports of applications being cycled out overly aggressively, resulting in some folks implementing (discouraged) workarounds to keep their application from being cycled out. The primary symptom of this problem is that your application will see lots of loading requests that fire up a new JVM, which, as many of you know can take anywhere from a few seconds with naked servlets to as much as twenty seconds when loading something like Spring MVC, JRuby on Rails or Grails. In theory, there is enough capacity such that as long as you get some traffic every few hours, you should not be getting cycled out, but we have been seeing reports of applications being cycled after only a minute or less. To help us figure out if these are app specific issues or App Engine issues, can you post the following information if you believe this is happening to you? - What is your application ID? - How do you know it is being cycled out? You'll need to insert some code that only gets called when the app cold starts. - How much time of inactivity does it take before your application is cycled out? - What time or days does this seem to happen? - What frameworks or libraries are you loading? Any other information you can provide would be helpful. -- Ikai Lan Developer Programs Engineer, Google App Engine -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@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: After how much time of no traffic does GAE shut-down the instance
It's been some discussion about this topic. You may want to seek posts with words keep warm or cold start, for instance. See also the Tragedy of the Commons, and Cold Starts post in the Google Aps Forum http://groups.google.com/group/google-appengine/browse_thread/thread/22692895421825cb/1108714f7a57280a Jorge Gonzalez On Jan 9, 3:16 pm, Locke locke2...@gmail.com wrote: In my testing, apps which are hit every 2 minutes need to boot every time (costing beacoup CPU cycles), whereas apps hit every 1 minute stay loaded. This limit seems to have changed over time. When I started using appengine several months ago, it would wait ten minutes before subjecting you to the unload/reload penalty. I would gladly send google a stick of RAM in the mail if they would just keep my app going! ;-) On Jan 9, 8:16 am, Yossi yossi@gmail.com wrote: Hi, I've noticed that the same request that takes in average 2 seconds could take more then 20 seconds after around 10 minutes that the application is idle (no requests are received). I assume that after ~10 minutes of no requests, the GAE shuts-down the instance. Is there an official information about this period of time? Is there a way to extend this period of time (besides writing a cron job that runs every minute)? Thanks. Yossi -- 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-j...@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: Purge _ah_SESSION ???
I found another issue with the /_ah/sessioncleanup servlet. On almost every run, a huge amount of cpu usage is reported! Example: 01-08 07:40AM 53.487 /_ah/sessioncleanup?clear 200 12275ms 7365cpu_ms 3845api_cpu_ms 0kb Jorge Gonzalez On Jan 7, 8:15 pm, Jorge athenas...@gmail.com wrote: The /_ah/sessioncleanup servlet works ok, but it cleans only 100 expired sessions at a time, so one needs to run it often enough to avoid expired sessions to accumulate and no so often that it won't have too few sessions to purge. Kind of complicated!! Someone knows of a better solution? Jorge Gonzalez On Jan 7, 4:13 am, m seleron seler...@gmail.com wrote: Hi, I am sorry for not understanding easily. I retrieved this Group Is this thread usefulhttp://groups.google.com/group/google-appengine-java/browse_thread/th... You may find more useful information . Please look for it. Thanks. Where should I look for this sessionCleanupServlet? On Jan 7, 6:01 am, m seleron seler...@gmail.com wrote: Hi, Though it is likely already to have tried. You might solve the problem by examining sessionCleanupServlet. thanks. On 1月7日, 午後1:18, Jorge athenas...@gmail.com wrote: Is there a way to delete old _ah_SESSION entities? I found a post about deleting all sessions, both from the datastore and from memcache, but I am looking a clean way to delete past sessions and preserve the active ones. Thanks, Jorge Gonzalez -- 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-j...@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: Purge _ah_SESSION ???
And worst. # 01-08 10:11AM 36.094 /_ah/sessioncleanup?clear 500 10275ms 17617cpu_ms 13845api_cpu_ms 4kb See details 0.1.0.1 - - [08/Jan/2010:10:11:46 -0800] GET /_ah/sessioncleanup? clear HTTP/1.1 500 4868 - - wcondominios.appspot.com # W 01-08 10:11AM 46.311 /_ah/sessioncleanup com.google.appengine.api.datastore.DatastoreTimeoutException: Unknown Jorge Gonzalez On Jan 8, 11:13 am, Jorge athenas...@gmail.com wrote: I found another issue with the /_ah/sessioncleanup servlet. On almost every run, a huge amount of cpu usage is reported! Example: 01-08 07:40AM 53.487 /_ah/sessioncleanup?clear 200 12275ms 7365cpu_ms 3845api_cpu_ms 0kb Jorge Gonzalez On Jan 7, 8:15 pm, Jorge athenas...@gmail.com wrote: The /_ah/sessioncleanup servlet works ok, but it cleans only 100 expired sessions at a time, so one needs to run it often enough to avoid expired sessions to accumulate and no so often that it won't have too few sessions to purge. Kind of complicated!! Someone knows of a better solution? Jorge Gonzalez On Jan 7, 4:13 am, m seleron seler...@gmail.com wrote: Hi, I am sorry for not understanding easily. I retrieved this Group Is this thread usefulhttp://groups.google.com/group/google-appengine-java/browse_thread/th... You may find more useful information . Please look for it. Thanks. Where should I look for this sessionCleanupServlet? On Jan 7, 6:01 am, m seleron seler...@gmail.com wrote: Hi, Though it is likely already to have tried. You might solve the problem by examining sessionCleanupServlet. thanks. On 1月7日, 午後1:18, Jorge athenas...@gmail.com wrote: Is there a way to delete old _ah_SESSION entities? I found a post about deleting all sessions, both from the datastore and from memcache, but I am looking a clean way to delete past sessions and preserve the active ones. Thanks, Jorge Gonzalez -- 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-j...@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: Purge _ah_SESSION ???
The /_ah/sessioncleanup servlet works ok, but it cleans only 100 expired sessions at a time, so one needs to run it often enough to avoid expired sessions to accumulate and no so often that it won't have too few sessions to purge. Kind of complicated!! Someone knows of a better solution? Jorge Gonzalez On Jan 7, 4:13 am, m seleron seler...@gmail.com wrote: Hi, I am sorry for not understanding easily. I retrieved this Group Is this thread usefulhttp://groups.google.com/group/google-appengine-java/browse_thread/th... You may find more useful information . Please look for it. Thanks. Where should I look for this sessionCleanupServlet? On Jan 7, 6:01 am, m seleron seler...@gmail.com wrote: Hi, Though it is likely already to have tried. You might solve the problem by examining sessionCleanupServlet. thanks. On 1月7日, 午後1:18, Jorge athenas...@gmail.com wrote: Is there a way to delete old _ah_SESSION entities? I found a post about deleting all sessions, both from the datastore and from memcache, but I am looking a clean way to delete past sessions and preserve the active ones. Thanks, Jorge Gonzalez -- 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-j...@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: why my app on GAE first access is so slow
It´s been a lot of discussion about this topic lately. See for instance Tragedy of the Commons, and Cold Starts. I own dedicated servers with other hosts and what I´ve been doing is automatically generating http request to my GAE app every 40 seconds. I started with 60 seconds and that became insufficient. Nevertheless, the Tragedy of the Commons seams to be real, because now 40 seconds is not enough to keep the app warm. My hope is Google will come up with a satisfactory solution soon. Maybe a fee to keep your application warm. I agree the cold startup time is absolutely unacceptable. Jorge Gonzalez On Nov 12 2009, 6:56 am, DrMorten morten.dalgaard.niel...@gmail.com wrote: 1 minute works for me, I used a commercial service that tracks uptime to check it. Trouble is that the commercial service checks randomly from different locations all over the world. meaning that the application loads out of memory because its hosted in different locations, effectivly killing my CPU qouta. On Nov 12, 3:36 am, zhiw...@gmail.com zhiw...@gmail.com wrote: i only test it in my country, i don't know whether it is still effective for request that from a foreign country. but to me it is enough On Nov 12, 10:30 am, zhiw...@gmail.com zhiw...@gmail.com wrote: i turn it to 1min, the cron job access a servlet that do nothing just for active the app. every 24h it only used 1% of the free cpu-time . now at least when i access my app, it was not slow like before. but sometime the app still be inactive, although the cron job active the app, when i access sush as mainpage, it still took sometime to load the servlet. gae doc wrote: load-on-start doesn't work , the servlet will be load on first accessed. i think use cron job to access mainpage is better. now i have not try ths. On Nov 12, 5:04 am, James H james.hollier...@gmail.com wrote: So, 1-3 minute intervals seem to do the trick? Is this technique still working for you? On Nov 10, 8:24 pm, zhiw...@gmail.com zhiw...@gmail.com wrote: i think the gae cloud envrionment does not have the region concept. every app run on a virtual server , the cron job is used to make the virtual server active. if the virtual server is active, when access the app, there is no need to reinit such as spring listener etc, so delay time is short, that is so simple i think. On Nov 10, 7:30 am, James H james.hollier...@gmail.com wrote: How would a single cron task really help in an environment where multitudes of app servers are involved based on demand, geography, etc? So, how will the task that just ran help someone in U.S. and simultaneously help someone in Russia on the same app? I assume they are potentially running on different app servers. On Nov 10, 1:51 am, m seleron seler...@gmail.com wrote: Thank you for useful information. Though various situations are thought I think that a detailed analysis might be necessary to decrease the CPU TIME. thunks 2009/11/10 zhiw...@gmail.com zhiw...@gmail.com: now i set the schedule time to 3min, it seems work, every time i access my app, i can hardly feel slow. my cron job access a servlet that do nothing and just for active my app. set the schedule time to 1min is better i think,although it will take some cpu time. On Nov 9, 11:31 pm, m seleron seler...@gmail.com wrote: I'm sorry very much. It examined. ServletContextListener#contextDestoryed was not called. It was necessary to examine it accurately. Nichole. Thank you for advice. Does not the page access speed become early? When you access that I think access speed is open in since the second times always because by the thing that keeps being accessed with cron If the display speed is still slow, the cause might be different. thanks, On Nov 9, 11:30 pm, zhiw...@gmail.com zhiw...@gmail.com wrote: i set the time to 5min , but i can still find the contextInitialized info, seems gae's time-out is very short, now i test set it to 3min On Nov 9, 10:18 pm, Joseph Stano joseph.st...@gmail.com wrote: have you noticed if that solves the timeout issue? On Mon, Nov 9, 2009 at 5:04 AM, zhiw...@gmail.com zhiw...@gmail.com wrote: it seems only contextInitialized method can be executed, and contextDestroyed never be executed. so i can not get the time my app alive after it was actived. i have use cron job to access a servlet in my app every 10min to avoid app be inactive, if necessary i will turn the time to 5min or less On Nov 9, 11:40 am
[appengine-java] Re: Is there a recommended way to differentiate between production and dev GAE environments?
I found this in the Programming GAE book by Dan Sanderson, O'Reilly, 2010: An app can determine whether it is running on AppEngine or in the development server from the servlet info string in the srvlet context, returned by this.getServletContext()getServletInfo(). This string starts with Google App Engine Development when running in the development server... Jorge Gonzalez On Nov 28, 7:34 am, Guillaume Laforge glafo...@gmail.com wrote: Another approach I've just found is doing something like: ApiProxy.getCurrentEnvironment().getClass().getName().contains (LocalHttpRequestEnvironment) Not sure in the end what's the best approach of them all. On 24 nov, 16:29, Marcel Overdijk marceloverd...@gmail.com wrote: Or use a Listener as described herehttp://marceloverdijk.blogspot.com/2009/10/determining-runtime-enviro... On 23 nov, 15:58, Nacho Coloma icol...@gmail.com wrote: To answer my own question, this has been my best shot this far: SecurityManager sm = System.getSecurityManager(); localDevelopmentEnvironment = sm == null || com.google.appengine.tools.development.DevAppServerFactory $CustomSecurityManager.equals(sm.getClass().getName()); If anyone has a better way, I will be glad to hear. On Nov 23, 1:17 pm, Nacho Coloma icol...@gmail.com wrote: Hi all, I was considering options, but I first wanted to ask: is there a recommended way to differentiate between my localdevelopment environment and the realGAEserver? This far, the only options I can think of are: * adding a -Dtest=true to my eclipse launcher * looking up for any test environment classes (Class.forName) but it's not reliable as they could get included by mistake in any WAR release. * I have been searching for instanceof alternatives i.e.: DatastoreServiceFactory.getService() instanceof LocalDatastoreService but I could not find any such expression that could possibly work. Ideas? What are people using out there? Nacho. -- 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-j...@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: select count(*) ?
I second this question. Jorge Gonzalez On Dec 2, 1:19 pm, king kingalpha...@gmail.com wrote: Jason, do you have a timeline for when: 1. the cursor feature will be available? 2. the data download feature be available for JAVA (not Python). On Oct 21, 10:54 am, Jason (Google) apija...@google.com wrote: The query restrictions are an artifact of the way App Engine's datastore is constructed, which makes certain operations (e.g. queries and reads) very fast and scalable but does limit the types of queries you can make, though you can typically get around these restrictions by re-thinking your model a bit. We are working on adding built-in cursor support for easier paging through entities and have just added a datastore statistics API for, among other things, getting the total entity count, even if it exceeds 1,000. More details here: http://code.google.com/appengine/docs/java/datastore/stats.html And we also have a data export utility included with the SDK to make it easier for you to back up or even move off of App Engine should you choose to, and we're continuing to look at ways of making App Engine, particularly the datastore component, easier to use. http://code.google.com/appengine/docs/python/tools/uploadingdata.html... - Jason On Mon, Oct 19, 2009 at 1:53 PM, vetch oldpete...@gmail.com wrote: On 6 Paź, 10:03, Jason (Google) apija...@google.com wrote: * Because App Engine queries can only return up to 1,000 results, count(this) will never return above 1,000, even if you have more than 1,000 entities, so bear this in mind. I'm deeply shocked. This works like some black hole. You put your data there simply, but can't get them back that simply. In connection with restricions (inequality property filter), it is even harder to get anything more complex. BiGAppEngine disappointment. -- 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-j...@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: What does precompilation-enabledtrue/precompilation-enabled do?
I have the same issue. My app id is wcondominios: Unable to update: java.io.IOException: Precompilation failed. Consider adding precompilation-enabledfalse/precompilation-enabled to your appengine-web.xml and trying again. at com.google.appengine.tools.admin.AppVersionUpload.precompile (AppVersionUpload.java:158) at com.google.appengine.tools.admin.AppVersionUpload.doUpload (AppVersionUpload.java:125) at com.google.appengine.tools.admin.AppAdminImpl.update (AppAdminImpl.java:56) at com.google.appengine.tools.admin.AppCfg$UpdateAction.execute (AppCfg.java:521) at com.google.appengine.tools.admin.AppCfg.init(AppCfg.java:130) at com.google.appengine.tools.admin.AppCfg.init(AppCfg.java:58) at com.google.appengine.tools.admin.AppCfg.main(AppCfg.java:54) Caused by: java.io.IOException: Error posting to URL: http://appengine.google.com/api/appversion/precompile?app_id=wcondominiosversion=0-0-4; 503 Service Unavailable Jorge Gonzalez On Dec 14, 11:43 am, Toby Reyelts to...@google.com wrote: Please send us your app-id privately (if you don't feel comfortable posting it publicly), and we can investigate. -- Forwarded message -- From: Philip philip.jarr...@gmail.com Date: Mon, Dec 14, 2009 at 10:19 AM Subject: [appengine-java] Re: What does precompilation-enabledtrue/precompilation-enabled do? To: Google App Engine for Java google-appengine-java@googlegroups.com Whenever I attempt to use pre-compilation I receive a 503 Service Unavailable error and a roll back is made. There is no further explanation in the logs. I made several tries at different times. Unable to update: java.io.IOException: Error posting to URL:http://appengine.google.com/api/appversion/precompile?app_id={removed}version=2; 503 Service Unavailable Try Again (503) An unexpected failure has occurred. Please try again. at com.google.appengine.tools.admin.ServerConnection.send (ServerConnection.java:143) at com.google.appengine.tools.admin.ServerConnection.post (ServerConnection.java:81) at com.google.appengine.tools.admin.AppVersionUpload.send (AppVersionUpload.java:427) at com.google.appengine.tools.admin.AppVersionUpload.precompile (AppVersionUpload.java:135) at com.google.appengine.tools.admin.AppVersionUpload.doUpload (AppVersionUpload.java:112) at com.google.appengine.tools.admin.AppAdminImpl.update (AppAdminImpl.java:56) at com.google.appengine.eclipse.core.proxy.AppEngineBridgeImpl.deploy (AppEngineBridgeImpl.java:271) at com.google.appengine.eclipse.core.deploy.DeployProjectJob.runInWorkspace (DeployProjectJob.java:148) at org.eclipse.core.internal.resources.InternalWorkspaceJob.run (InternalWorkspaceJob.java:38) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55) Am I missing something? - Philip On Dec 7, 6:18 pm, Ikai L (Google) ika...@google.com wrote: Yes, pre-compilation reduces the time to load an application. This will benefit you on your first request after a deploy, after you've been cycled out or if more application instances are created to scale up with your load. You will see up to 30% improved loading time on your first request. Pre-compilation works by doing a bit of class loading work ahead of time in the App Engine environment before the request comes in. It's still opt-in, so you'll need to enable it if you want it. On Thu, Dec 3, 2009 at 4:29 PM, Gary B gary.b...@gmail.com wrote: The 1.2.8 release notes state that pre-compilation reduces the length of loading requests. Does pre-compilation reduce the *time* to load the application? How does pre-compilation work? I noticed that the appcfg update command logs information about precompilation. -- 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-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.comgoogle-appengine-java%2bunsubscr...@googlegroups.com google-appengine-java%2bunsubscr...@googlegroups.comgoogle-appengine-java%252bunsubscr...@googlegroups.com . For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en. -- Ikai Lan Developer Programs Engineer, Google App Engine -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.comgoogle-appengine-java%2bunsubscr...@googlegroups.com . For more options, visit this group athttp://groups.google.com/group/google-appengine-java?hl=en. -- You received this message because you are subscribed to the Google
[appengine-java] Log time offset configuration?
My GAE logs are timestamped with a -0800 offset. Is there a way to control the offset? For instance, I'd prefer my logs -0600 (my local time) or - (UTC). How/Where would I configure that? Thanks, Jorge Gonzalez -- 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-j...@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: Random App Engine errors
(RuntimePb.java:5235) at com.google.apphosting.base.RuntimePb$EvaluationRuntime $6.handleBlockingRequest(RuntimePb.java:5233) at com.google.net.rpc.impl.BlockingApplicationHandler.handleRequest (BlockingApplicationHandler.java:24) at com.google.net.rpc.impl.RpcUtil.runRpcInApplication(RpcUtil.java: 363) at com.google.net.rpc.impl.Server$2.run(Server.java:838) at com.google.tracing.LocalTraceSpanRunnable.run (LocalTraceSpanRunnable.java:56) at com.google.tracing.LocalTraceSpanBuilder.internalContinueSpan (LocalTraceSpanBuilder.java:536) at com.google.net.rpc.impl.Server.startRpc(Server.java:793) at com.google.net.rpc.impl.Server.processRequest(Server.java:368) at com.google.net.rpc.impl.ServerConnection.messageReceived (ServerConnection.java:448) 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: 466) at com.google.net.async.EventDispatcher.processNetworkEvents (EventDispatcher.java:759) at com.google.net.async.EventDispatcher.internalLoop (EventDispatcher.java:205) 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:396) at java.lang.Thread.run(Unknown Source) Jorge Gonzalez On Dec 4, 4:22 am, Raphael André Bauer raphael.andre.ba...@gmail.com wrote: On Thu, Dec 3, 2009 at 11:12 PM, Ikai L (Google) ika...@google.com wrote: Are these still occurring? What are your application IDs? Hey Ikal, eh errors happend around 2nd Dec, App Engine time 11:00 AM (Icannot say 100% exactly when it was). The random errors were observable for around 2h. I got the same error message as Jason. Now everything is working fine again. Thanks for coming back to us... Raphael On Wed, Dec 2, 2009 at 12:22 PM, Raphael André Bauer raphael.andre.ba...@gmail.com wrote: On Wed, Dec 2, 2009 at 8:39 PM, Jason.LTech jason.keic...@gmail.com wrote: We are receiving random App Engine errors the last few days on an app that has been performing fine for months +1 ra failed web com.google.apphosting.runtime.HardDeadlineExceededError: This request (162d54b3b9e9) started at 2009/12/02 19:21:46.098 UTC and was still executing at 2009/12/02 19:22:15.544 UTC. at java.security.PrivilegedActionException.init(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at com.google.apphosting.runtime.security.UserClassLoader $PrivilegedClassLoader.loadPrivilegedClass(UserClassLoader.java:123) at com.google.apphosting.runtime.security.UserClassLoader.loadClassImpl (UserClassLoader.java:485) at com.google.apphosting.runtime.security.UserClassLoader.loadClass (UserClassLoader.java:446) at java.lang.ClassLoader.loadClass(Unknown Source) at org.springframework.core.type.classreading.AnnotationMetadataReadingVisitor $1.visitEnd(AnnotationMetadataReadingVisitor.java:67) at org.springframework.asm.ClassReader.a(Unknown Source) at org.springframework.asm.ClassReader.accept(Unknown Source) at org.springframework.asm.ClassReader.accept(Unknown Source) at org.springframework.core.type.classreading.SimpleMetadataReader.getAnnotationMetadata (SimpleMetadataReader.java:55) at org.springframework.core.type.filter.AnnotationTypeFilter.matchSelf (AnnotationTypeFilter.java:68) at org.springframework.core.type.filter.AbstractTypeHierarchyTraversingFilter.match (AbstractTypeHierarchyTraversingFilter.java:55) at org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider.isCandidateComponent (ClassPathScanningCandidateComponentProvider.java:252) at org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider.findCandidateComponents (ClassPathScanningCandidateComponentProvider.java:192) at org.springframework.context.annotation.ClassPathBeanDefinitionScanner.doScan (ClassPathBeanDefinitionScanner.java:201) at org.springframework.context.annotation.ComponentScanBeanDefinitionParser.parse (ComponentScanBeanDefinitionParser.java:84) at org.springframework.beans.factory.xml.NamespaceHandlerSupport.parse (NamespaceHandlerSupport.java:69) at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement (BeanDefinitionParserDelegate.java:1297
[appengine-java] Re: AppEngine needs an AppStore
Here is another model and the one we pursue now: One may login to our app with a Google account, but in order to be able to use the app to full capacity, the user must subscribe (e.g. pay for it). On any case, a GAE marketplace would be a site where we the app developers promote our products and services and those products and services may be distributed in a variety of business models. Cool idea: a marketplace like what you describe could be an App Engine app itself ... Of course!!! Jorge Gonzalez On Dec 1, 1:08 pm, Ikai L (Google) ika...@google.com wrote: I see what you mean. Say, an application marketplace where folks can download source code for applications and deploy to their own App Engine instances, get support, download updates, and so forth. It's an interesting idea. We're focusing on Apps for Google Apps for the Enterprise in a SaaS model rather than an a la carte software download model. Cool idea: a marketplace like what you describe could be an App Engine app itself ... On Tue, Dec 1, 2009 at 7:16 AM, Prashant antsh...@gmail.com wrote: +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-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.comgoogle-appengine-java%2bunsubscr...@googlegroups.com . For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en. -- Ikai Lan Developer Programs Engineer, Google App Engine -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@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: AppEngine needs an AppStore
A GAE app may have nothing to do with Google Apps. I think David's idea is a good one and there should be a GAE Apps Marketplace. Jorge Gonzalez On Nov 30, 1:53 pm, Ikai L (Google) ika...@google.com wrote: David, We have a solutions marketplace for Google Apps:http://www.google.com/enterprise/marketplace/ On Mon, Nov 30, 2009 at 11:43 AM, David Chandler turboman...@gmail.comwrote: as in iPhone AppStore, not to be confused with DataStore AppEngine is fantastic. Even though AppEngine for Java is still a preview release, are there any thoughts of giving it an AppStore so I could easily make my AppEngine applications available for others to purchase? I'm thinking especially of Google Apps users, as authentication and custom domain hosting are already in place. Further elaboration: http://turbomanage.wordpress.com/2009/11/30/appengine-needs-an-appstore/ Regards, David Chandler -- 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-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.comgoogle-appengine-java%2bunsubscr...@googlegroups.com . For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en. -- Ikai Lan Developer Programs Engineer, Google App Engine -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@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 return a file from a servlet
Many web servers have a configured map between file extensions and content types and that's how the browser knows how to handle a file if no content type was specified in the HTTP. However, you don't know if all your user's web servers are configured in such a way and that is why it is better to specify the content type before sending out the content. Jorge Gonzalez On Nov 30, 11:25 am, Prashant antsh...@gmail.com wrote: thanks a lot guys. is it necessary to use resp.setContentType(image/gif); even if url end with .gif ? -- 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-j...@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: Is there a recommended way to differentiate between production and dev GAE environments?
My approach is quite simpler. I keep a configuration file where I setup a different webBaseURL depending on the environment, development VS production. One could a a boolean isProduction and make webBaseURL a function of that. The thing to remember is to setup the config file before uploading to GAE and then resetting it back to the development config. public class Config { // True or false the UI actions (buttons) and the http servicce requests // are logged. private static boolean isLogOn = true; // Web base URL /private static String webBaseURL = http:// wcondominios.appspot.com/; private static String webBaseURL = http://localhost:8080/;; /** * @return True or false the the UI actions (buttons) and the http * servicce requests are logged. */ public static boolean isLogOn() {return isLogOn;} /** * @return The Web base URL */ public static String getWebBaseURL() {return webBaseURL;} } Jorge Gonzalez On Nov 24, 8:11 pm, Rusty Wright rwright.li...@gmail.com wrote: The filesystem is read only on app engine; would trying to create a file, in WEB-INF for example, work? I'm wondering if there are corner cases I'm not thinking of where that might fail and falsely report that you're on app engine; for example, if you were doing integration tests under Hudson. Nacho Coloma wrote: Thanks! I searched a lot but didn't get to this thread. On Nov 23, 4:13 pm, leszek leszek.ptokar...@gmail.com wrote: Follow that thread: http://groups.google.co.uk/group/google-appengine-java/browse_frm/thr... -- 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-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group athttp://groups.google.com/group/google-appengine-java?hl=. -- 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-j...@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: Need help on how to enhance the data classes with netbeans
Yes, the JDO classes will be automatically enhanced at the time you start the development GAE server. BTW, I'm also used to NetBeans rather than Eclipse and I hope the GAE and GWT plugins for NetBeans will be further developed! Jorge Gonzalez On Oct 29, 7:44 am, Justin haojia...@gmail.com wrote: Thanks, I will try that. By the way, will the step of enhancing the data classed be completed automatically by the plugin? Thanks alot On Oct 29, 10:19 am, Jorge athenas...@gmail.com wrote: I am using NetBeans to develop a GAE application. There is a beta plugin available here:http://plugins.netbeans.org/PluginPortal/faces/PluginDetailPage.jsp?p... and using it, I have no problems at all with the JDO classes enhancement. The files tree structure in NB is a bit different than in Eclipse, but once you have a map, it is easy to follow the documentation, the hints and the discussions. Jorge Gonzalez On Oct 28, 3:01 am, leszek leszek.ptokar...@gmail.com wrote: I'm using NetBeans but only for GWT application. I don't know if there is anybody who uses NetBeans for Google App Engine application. May be ask the question here: https://gwt4nb.dev.java.net/ if are there any plans to extend existing plugin and support also Google App Engine. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-java@googlegroups.com To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en -~--~~~~--~~--~--~---
[appengine-java] Re: JDO/JPA Snippets That Work: Change of venue!
Thanks for the lead Jason! I didn't know that page was there. Jorge Gonzalez On Oct 20, 12:25 pm, Jason (Google) apija...@google.com wrote: Hi Jorge. Have you seen the App Engine Cookbook? Users are free to post and search for code snippets:http://appengine-cookbook.appspot.com/ - Jason On Sat, Oct 17, 2009 at 5:26 AM, Jorge athenas...@gmail.com wrote: Thanks Max for sharing your experience and conclusions about this *important* topic. I wish there were more places where to find how-to examples about GAE! Jorge Gonzalez On Oct 16, 6:22 pm, Max Ross maxr+appeng...@google.commaxr%2bappeng...@google.com wrote: Hi everybody, I've been writing JDO/JPA Snippets That Work for 5 weeks now. I'm enjoying the writing and I'm pleased with the discussion that has taken place around the weekly topics, so I intend to keep going. However, while the Google Group is certainly a great place for you, our customers, to reach out to us and to help one another, I'm not convinced it's the best place for me to be publishing something like Snippets That Work. It's not documentation, but it's _almost_ documentation. So, in the interest of consolidating these posts in one place I've decided to establish a GAE/J persistence blog: http://gae-java-persistence.blogspot.com/ You'll notice I've already cross-posted the first 5 Snippets That Work to this blog, and starting next week I'll be posting the new entries there. If you find Snippets That Work valuable I'd recommend subscribing using your favorite feed reader, but I'll still send out a link on this message board whenever there is a new post. Thanks for reading! Max --~--~-~--~~~---~--~~ 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: javax.jdo.JDOFatalUserException
Hi Jason, I am retaking this thread because I am experiencing the same Caused by: javax.jdo.JDOFatalUserException... issue. I'm not using other frameworks than GAE. The IDE I'm using is NetBeans and I'm using Java. The PMF singleton is in place, just like explained in the docs. Thanks, Jorge Gonzalez On Oct 6, 2:05 pm, Jason (Google) apija...@google.com wrote: Are you using any frameworks on top of App Engine for Java or are you using a JVM-based language other than Java? - Jason On Mon, Oct 5, 2009 at 1:47 AM, Omer Saatcioglu osaatcio...@gmail.comwrote: Interestingly, I use Persistence Manager as singleton just like in the document. But I have the same error. I do db operations in several methods. When I enter to the method I get the Persistence Manager from the singleton object and I close the persistence manager at the end of the method. When I call several methods that do this operation it crashes with exactly the same error. Do you have any advise? Omer On Sep 25, 10:14 pm, Jason (Google) apija...@google.com wrote: Make sure you're using a PMF singleton as described here: http://code.google.com/appengine/docs/java/datastore/usingjdo.html#Ge... Then you can call PMF.get().getPersistenceManager in all of your classes instead of continually instantiating new PersistenceManagerFactory objects, which is an expensive operation. - Jason On Wed, Sep 23, 2009 at 5:27 PM, Vatsa vats...@gmail.com wrote: Hi, I am a newbie to Google App Engine. We are trying to prototype a simple application to persist DTO which are read from a .csv file to the virtual data store. I get the following error (very descriptive) at the time of instantiating the Access Manager Caused by: javax.jdo.JDOFatalUserException: Application code attempted to create a PersistenceManagerFactory named transactions-optional, but one with this name already exists! Instances of PersistenceManagerFactory are extremely slow to create and it is usually not necessary to create one with a given name more than once. Instead, create a singleton and share it throughout your code. If you really do need to create a duplicate PersistenceManagerFactory (such as for a unittest suite), set the appengine.orm.disable.duplicate.pmf.exception system property to avoid this error. Thanks Vatsa --~--~-~--~~~---~--~~ 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 -~--~~~~--~~--~--~---