[appengine-java] Re: FK Maps not supported error when using HashMaps
Perhaps you ought to define your persistence code and more of your model classes (and stack trace). When I run something like that **using SVN code of the GAE plugin** all works fine. -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-java@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
Re: [appengine-java] Re: Memcache listener when data is evicted?
Given the current version of my game, the answer would be no. The only thing I need for now is to know who has won at the end. This may change later on though. I have seen that Ehcache can be integrated in GAEhttp://ehcache.org/documentation/googleappengine.html, but as far as I know it doesn't provide any hook to plug a listener in before the removal occurs. Anyway, thanks for your answer :) -- Sébastien Tromp 2011/7/26 J.Ganesan j.gane...@datastoregwt.com I had this kind of issue when I wanted to maintain an object cache. I had to settle down for something similar to what you do now. In your case, if you had a dedicated server would you update the database with every move. If the answer is yes, what you currently do is fine. Else, I do not think gae is a fit server-cum-persistence mechanism for your application. J.Ganesan www.DataStoreGwt.com On Jul 23, 2:17 pm, Sébastien Tromp sebastien.tr...@gmail.com wrote: Hello, I am building a multiplayer game whose play sessions are rather short (around 5 mins). Everytime a player sends their move, it updates the game state in the cache. Since the cache is unreliable, I then update the datastore with the updated data. My concern is there will likely be many useless datastore updates - meaning two consecutive persistence calls while the data still is in the memcache. I was thus wondering whether you had any suggestion about this. I was thinking of listeners that would be called when the data is about to be evicted from the cache, who would be the one to do the actual persistence. But from what I read http://code.google.com/appengine/docs/java/memcache/usingjcache.html#... this is not possible today. Has any one of you run into a similar requirement? How have you coped with it? -- Sébastien Tromp -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-java@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-java@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
[appengine-java] Re: Blobstore and upload question
Check out http://ikaisays.com/2010/08/11/using-the-app-engine-mapper-for-bulk-data-import/ -- 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: Blobstore and upload question
Thanks for that link... I took a look but I don't think that model really applies to my case here. I'm wondering if just uploading the files and pushing them into the Datastore as a piece of text with the key being the user id and file type may be simpler? Anyone have any thoughts on the question about upload from VB.Net? Is this possible? TIA! -- 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/-/Ib_tCtVAuLkJ. 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: Mining logs for performance data
Anyone from GAE team has better suggestions for this? Normally we setup a separate metrics logger in log4j which would log all metric events in a separate log file. Then we generate reports out of it. On GAE, we cannot define a logfile for a separate logger and don't have access to download any log file.. -- 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/-/t63On0QqjvkJ. 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: Blobstore and upload question
There is a 1MB limit for entities in the datastore so if your data fits within that limit than the datastore is a good option. My app stores all its data in the datastore including videos, audio files, images, pdf's, etc. I started it before the blobstore existed. So, if your data is greater than the 1MB limit you'll need to break it up in to pieces which isn't as difficult as it seems but depends on your comfort level. What I'd do is add to the end of your key (which should be a string) a file segment number so it would be something like key:01,key:02. The reason you should pad it with zeros is so that all of your file entries will be ordered by segment. If you do key:1,key:2,. and then you have key:11, they will be ordered key:1,key:11,key:2, which may not bother you but when looking in the DatastoreViewer, etc. it's nice to see them in order by segment number. Then when it's time to retrieve the file, you do a range query like key = key: key = key:~ this will get you the file segments. I use the ~ (tilde) character as my upper limit character when doing these type of operations but other characters can be used depending on your data set. My approach is slightly more involved than this do to the large file sizes I support and other criteria, but this approach should work for your case. Okay, from the client perspective, VB.NET shouldn't be a problem, my upload tool is written in C#. The easiest approach is to read in the text file and put it's content as the POST data, you can add other parameters to the query string part of the url if additional information is needed or format the post to include the file and data together. I myself put the contents of the file into XML format which i put as the POST data, so I can include all my data including additional information about the file into the XML. Since your file is text either approach should work fine. For binary data, you'd need to base64 encode the data or something like that (which is what I do). Okay, from the user perspective of uploading the file from a browser to your app, you'll need to parse the file out of the multi-part format. Here is an article on how to use an Apache/Jakarta library to do just that: http://www.developershome.com/wap/wapUpload/wap_upload.asp?page=jsp This seems to be a pretty good write up on how to use it. I haven't used it since there wasn't a nice article about it when I started using GAE and since the whitelist doesn't allow some things to work, so I'm not sure if this works or not. So basically I wrote my own parser to extract web browser based uploads. I think this should work as long as you set the Size Threshold high enough otherwise the document says it will try to write to disk. Maybe someone else on this board has used this utility and can say whether or not it works. Well, I'm sure this is more info than you needed, but maybe it might help someone else someday that is trying to figure this same stuff out. Cheers, Stephen CortexConnect cortexconnect.appspot.com On Thu, Jul 28, 2011 at 6:55 AM, GeorgeS sxoutt...@gmail.com wrote: Thanks for that link... I took a look but I don't think that model really applies to my case here. I'm wondering if just uploading the files and pushing them into the Datastore as a piece of text with the key being the user id and file type may be simpler? Anyone have any thoughts on the question about upload from VB.Net? Is this possible? TIA! -- 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/-/Ib_tCtVAuLkJ. To post to this group, send email to google-appengine-java@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-java@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
Re: [appengine-java] Re: Blobstore and upload question
Stephen, thanks for the information! I had started to put the text into a Datastore but somehow the Blobstore looked easier to deal with. I'll revisit the datastore idea. I don't have to worry about breaking the data up since these files are never more than 32K in size and that is an extreme case. I was figuring that POSTing from VB.Net was the way to upload the document but it helps to know I'm on the right track there. -- 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/-/YsIiLkwiK0QJ. 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: Blobstore and upload question
If your data is never more than 32K in size then the datastore is definitely the way to go. Way easier and simpler IMHO. On Thu, Jul 28, 2011 at 10:30 AM, GeorgeS sxoutt...@gmail.com wrote: Stephen, thanks for the information! I had started to put the text into a Datastore but somehow the Blobstore looked easier to deal with. I'll revisit the datastore idea. I don't have to worry about breaking the data up since these files are never more than 32K in size and that is an extreme case. I was figuring that POSTing from VB.Net was the way to upload the document but it helps to know I'm on the right track there. -- 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/-/YsIiLkwiK0QJ. To post to this group, send email to google-appengine-java@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-java@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
[appengine-java] Application statistics are currently unavailable.
I get the error: Application statistics are currently unavailable. in the control panel, and I can't see any statistics (including billing information). any ideas? -g. -- 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/-/gplbIUD58uAJ. 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] Sending email in Java development environment
fyhao, Thanks for the reply. But I'm still having trouble. I went to http://localhost:/_ah/admin (I am using port ), and got a screen labelled 'no_app_id Development Console'. I gives me the choices Datastore Viewer, Task Queues, XMPP, Inbound Mail, and Backends. None of these show me any logs. What am I missing? -- 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/-/fC-UIENgDz0J. 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: Blobstore and upload question
What I do with files is upload, then I redirect the new blobkey to a servlet, which then does the things I need it to. I've used the mapper lib, but if I'm going to be processing anything, I'll stick it in a task which gives up to 10 minutes per task I'll poll a from GWT client and see when the task is done. You can read the file line by line easily. It works great. I have some examples where I do it. I decode base 64 on the fly from blobstore and has been working great. Some of my blob notes: http://code.google.com/p/gwt-examples/wiki/DemoGAEMultiFileBlobUpload Which way did you choose to go? Brandon Donnelson http://gwt-examples.googlecode.com -- 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/-/GMfXd1GxHo8J. 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] Datastore access deadlock
Hi, since last week I am experiencing a very serious problem in my application. Probably since I deployed for the first time after the new SDK 1.5.2 was released. The application is locking during 30 seconds (then it raises an timeout Exception) just doing a single query. The query starts running normally during a couple hours, then randomly starts locking, and after that almost all queries like this lock. This is the query: PersistenceManager pm = PMF.get().getPersistenceManager(); cmd = pm.getObjectById(Command.class, id); I have also tried changing to this query: PersistenceManager pm = PMF.get().getPersistenceManager(); query = pm.newQuery(Command.class, id == idParameter); query.declareParameters(Long idParameter); query.setRange(0,1); query.setUnique(true); cmd = (Command) query.execute(id); in both cases, it hangs in last sentence. The persistence class is NOT marked as detachable. The received exception is this: com.google.apphosting.api.ApiProxy$ApiDeadlineExceededException: The API call datastore_v3.RunQuery() took too long to respond and was cancelled Can somebody help me with this? Is somebody experiencing this error? -- 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/-/SpFq3ZRRFBEJ. 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] Task queue locking up
Ikai, I have created a new topic explaining more in detail my problem. Can you help me please, or address me to the right people who can help me on this? This is the topic I sent: since last week I am experiencing a very serious problem in my application. Probably since I deployed for the first time after the new SDK 1.5.2 was released. The application is locking during 30 seconds (then it raises an timeout Exception) just doing a single query. The query starts running normally during a couple hours, then randomly starts locking, and after that almost all queries like this lock. This is the query: PersistenceManager pm = PMF.get().getPersistenceManager(); cmd = pm.getObjectById(Command.class, id); I have also tried changing to this query: PersistenceManager pm = PMF.get().getPersistenceManager(); query = pm.newQuery(Command.class, id == idParameter); query.declareParameters(Long idParameter); query.setRange(0,1); query.setUnique(true); cmd = (Command) query.execute(id); in both cases, it hangs in last sentence. The persistence class is NOT marked as detachable. The received exception is this: com.google.apphosting.api.ApiProxy$ApiDeadlineExceededException: The API call datastore_v3.RunQuery() took too long to respond and was cancelled Can somebody help me with this? Is somebody experiencing this error? -- 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/-/fsheQr8XdNAJ. 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: Application statistics are currently unavailable.
I experienced the same some hours ago, now it seems to be working again. -- 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/-/HavYr85LZnQJ. 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: sdk 1.5.2 removes exploding indexes!!!
I have been experiencing VERY serious problems (deadlocks) with datastore since the 1.5.2 version was released. Now I start realizing that the problem probably could be in the new Advanced Query Planning. Has somebody experienced this exception suddenly since last days? com.google.apphosting.api.ApiProxy$ApiDeadlineExceededException: The API call datastore_v3.RunQuery() took too long to respond and was cancelled -- 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/-/cIOO7Z-I0LMJ. 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 AppEngine GWT
Hi , I have the following source code: @PersistenceCapable(identityType = IdentityType.APPLICATION) public class Customer implements IsSerializable { @PrimaryKey @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY) private Long id; @Persistent private String name; @Persistent private Usuario admin; ... @PersistenceCapable(identityType = IdentityType.APPLICATION) public class Userimplements IsSerializable { @PrimaryKey @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY) private Key key; @Persistent private String name; . and I try to save as follows: public boolean insertCustomer(Customer c, Usuer u) { PersistenceManager pm = PMF.getPmfInstancia().getPersistenceManager(); Transaction tx = pm.currentTransaction(); try { tx.begin(); c.setAdmin(u); pm.makePersistent(c); tx.commit(); but when I retrieve data, the customer is saved but the associated user not. Any idea? 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] Server error while doing a large loop
I am a new comer to the Google App Engine. I was testing whether I can use Google app engine for a real-time calculations of our geophysical model. The idea is that scientists can calculate / run my model online and plot the results rather than running natively on their computer. I am testing the free version of google app engine. To test the speed of computation, I wrote the following loop in the Java servlet. I wanted to know how fast Google App Engine can compute my codes. for (int i = 1 ; i 10 ; i = i+1) { for (int j = 1 ; j 10 ; j = j+1) { for (int k = 1 ; k 10 ; k = k+1) { int h = i + j + k; } } } While the local deployment in my laptop (I am using eclipse google plugin - localhost:) completed the calculation in 8 seconds, google app reports error after a few seconds. If I remove the outer loop, Google App engine complete the calculation in about 4-6 seconds. While the actual computational burden of my model can be less than that of the above codes, I was a disappointed by the fact that Goggle App Engine runs slower than my laptop. Is this because of the free version ?. Will the speed increase, if I pay for App Engine use ? Thanks -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine-java/-/VpNTC_2FI3wJ. 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] Using async-session-persistence
I am experimenting with async-session-persistence enabled=true queue-name=default/ to store https session data; at first it seems to work fine with the default default queue settings; multithreading is switched on for the application. It appears that there is some kind of collision, as the tasks seem to succeed when the rate of incoming requests is low. When I open a browser window and reload 50 pages from the site at once it seems to work fine and the queue is filled up with some tasks. Most ot the tasks succeed. The problem is that around 30% of the async-session-persistence tasks fail repeatedly with HTTP status code 415 (Unsupported Media Type) and there is no further indication of the cause in the queue or in the server log. -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-java@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
[appengine-java] Unable to update app : failed in compling jsp
when i tired to deploy my application on GAE its shows me error failed to complie jsp pages .. what this error means i cann't understand when i am running locally its runs fine . its only happening when i am trying to deploy on GAE/j help me through this it is really getting me insane . i am using eclipse on linux -- 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 get the userID? The one could be actually be used with buzz API to get user profile?
I am interested in this topic .. From my side I would like to integrate an existing GAE application with Google Identity Toolkit .. And I want understand how to get this userId: which is the algorithm to get this information from an OpenID account? Thank you Miguel On Jul 25, 8:21 pm, wei yi genius@gmail.com wrote: I see there is a getUserID() in GAE API. And the value returned is a 21-digit ID, however it is not the one used in Google user Profile. Is there anyway to get that one? Since for some new users, the gmail address does not work when applied API. -- 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] Error: MemcacheServiceException: Memcache put: Error setting single item
Hi, I found MemcacheServiceException at 2011/07/28 10:57 AM(PDT). What is this exception? I didn't write 1MB over data. And I could not found my class code line in stack trace. google app engine bug? In Addition, three thousand task queues retried after this exception is happened. Normally task queue retry after exception happen in task queue. But many task queues were running. Because of I received many error mail and mail quotas was over. Please help us. Thank you. stack trace: org.apache.jasper.runtime.JspFactoryImpl internalGetPageContext: Exception initializing page context com.google.appengine.api.memcache.MemcacheServiceException: Memcache put: Error setting single item (_ahsxvOfW0bieFkW1N2vYQoYnA) at com.google.appengine.api.memcache.MemcacheServiceImpl.doPut(MemcacheServiceImpl.java: 427) at com.google.appengine.api.memcache.MemcacheServiceImpl.put(MemcacheServiceImpl.java: 443) at com.google.appengine.api.memcache.MemcacheServiceImpl.put(MemcacheServiceImpl.java: 470) at com.google.apphosting.runtime.jetty.MemcacheSessionStore.saveSession(MemcacheSessionStore.java: 39) at com.google.apphosting.runtime.jetty.SessionManager.createSession(SessionManager.java: 342) at com.google.apphosting.runtime.jetty.SessionManager $AppEngineSession.init(SessionManager.java:125) at com.google.apphosting.runtime.jetty.SessionManager.newSession(SessionManager.java: 273) at com.google.apphosting.runtime.jetty.SessionManager.newSession(SessionManager.java: 43) at org.mortbay.jetty.servlet.AbstractSessionManager.newHttpSession(AbstractSessionManager.java: 413) at org.mortbay.jetty.Request.getSession(Request.java:1242) at org.mortbay.jetty.Request.getSession(Request.java:1214) at org.apache.jasper.runtime.PageContextImpl._initialize(PageContextImpl.java: 146) at org.apache.jasper.runtime.PageContextImpl.initialize(PageContextImpl.java: 124) at org.apache.jasper.runtime.JspFactoryImpl.internalGetPageContext(JspFactoryImpl.java: 107) at org.apache.jasper.runtime.JspFactoryImpl.access $000(JspFactoryImpl.java:40) at org.apache.jasper.runtime.JspFactoryImpl $PrivilegedGetPageContext.run(JspFactoryImpl.java:149) at com.google.apphosting.runtime.security.shared.intercept.java.security.AccessController_.doPrivileged(AccessController_.java: 34) at org.apache.jasper.runtime.JspFactoryImpl.getPageContext(JspFactoryImpl.java: 61) at org.apache.jsp.error._500_jsp._jspService(_500_jsp.java:44) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java: 511) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java: 390) at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java: 216) at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java: 182) at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java: 765) at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java: 418) at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:327) at org.mortbay.jetty.servlet.Dispatcher.error(Dispatcher.java:135) at com.google.apphosting.runtime.jetty.AppVersionHandlerMap $NullErrorHandler.mayHandleByErrorPage(AppVersionHandlerMap.java:403) at com.google.apphosting.runtime.jetty.AppVersionHandlerMap $NullErrorHandler.handle(AppVersionHandlerMap.java:335) at org.mortbay.jetty.Response.sendError(Response.java:274) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java: 475) at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java: 216) at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java: 182) at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java: 765) at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java: 418) at com.google.apphosting.runtime.jetty.AppVersionHandlerMap.handle(AppVersionHandlerMap.java: 249) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java: 152) at org.mortbay.jetty.Server.handle(Server.java:326) at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java: 542) at org.mortbay.jetty.HttpConnection $RequestHandler.headerComplete(HttpConnection.java:923) at com.google.apphosting.runtime.jetty.RpcRequestParser.parseAvailable(RpcRequestParser.java: 76) at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404) at com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceRequest(JettyServletEngineAdapter.java: 135) at com.google.apphosting.runtime.JavaRuntime.handleRequest(JavaRuntime.java: 260) at
Re: [appengine-java] Server error while doing a large loop
A couple other things. Make sure you warm up your instance before doing your test. If you try that loop as your initial hit to the server than the instance has to start up which could also cause you to timeout. Also, run the test a few times. With Java's JIT thresholds your going to get a speed bump once it has run several times. On Thu, Jul 28, 2011 at 4:30 PM, Stephen Johnson onepagewo...@gmail.comwrote: You'll probably want to look at and test backends where you can pick your processor speed to see what kind of performance you can get. I think the front-end instances are configured similar to B1's, but i can't remember if I saw that somewhere or am basing it on the fact that in the new pricing model on-demand hours are priced at $.08, so maybe it is similar to B2, maybe someone else knows. Also, it was mentioned a while back that a B8 can't do any faster calculations on a single thread than a B4 so you'll probably see similar results if you test your computations on a B4 and B8. But once again, not completely sure about that assertion. The upside to a B8 from a B4 is, from what I gathered, increased memory and if using Java then can have multiple requests running at same time on different threads, it's just that a single thread can't do better than B4. B1 128MB 600MHz $0.08 B2 (default) 256MB 1.2GHz $0.16 B4 512MB 2.4GHz$0.32 B8 1024MB 4.8GHz $0.64 Stephen CortexConnect http://cortexconnect.appspot.com On Wed, Jul 27, 2011 at 5:00 PM, SudoKU manoj.n...@gmail.com wrote: I am a new comer to the Google App Engine. I was testing whether I can use Google app engine for a real-time calculations of our geophysical model. The idea is that scientists can calculate / run my model online and plot the results rather than running natively on their computer. I am testing the free version of google app engine. To test the speed of computation, I wrote the following loop in the Java servlet. I wanted to know how fast Google App Engine can compute my codes. for (int i = 1 ; i 10 ; i = i+1) { for (int j = 1 ; j 10 ; j = j+1) { for (int k = 1 ; k 10 ; k = k+1) { int h = i + j + k; } } } While the local deployment in my laptop (I am using eclipse google plugin - localhost:) completed the calculation in 8 seconds, google app reports error after a few seconds. If I remove the outer loop, Google App engine complete the calculation in about 4-6 seconds. While the actual computational burden of my model can be less than that of the above codes, I was a disappointed by the fact that Goggle App Engine runs slower than my laptop. Is this because of the free version ?. Will the speed increase, if I pay for App Engine use ? Thanks -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine-java/-/VpNTC_2FI3wJ. To post to this group, send email to google-appengine-java@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-java@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
[appengine-java] Re: Channel Presence - HowTo ?
Sébastien, you can register a servlet to handle the URL paths; this is done it the WEB-INF/web.xml file: web-app... servlet-mapping servlet-namehandle_connect/servlet-name url-pattern/_ah/channel/connected/url-pattern /servlet-mapping servlet servlet-namehandle_connect/servlet-name servlet-classorg.example.MyConnectServlet/servlet-class /servlet MyConnectServlet.java does then the job: public class ErrorController extends HttpServlet { @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { //Handle request and write response } } Hope this can help you. On Jul 27, 12:00 pm, Sébastien Tromp sebastien.tr...@gmail.com wrote: Hello, In the Presence sectiono of the Channel documentation, it says: When you enable channel_presence, your application receives POSTs to the following URL paths: - POSTs to /_ah/channel/connected/ signal that the client has connected to the channel and can receive messages. - POSTs to /_ah/channel/disconnected/ signal that the client has disconnected from the channel. Your application can register handlers to these paths in order to receive notifications. You can use these notifications to track which clients are currently connected. However, I am clueless as to how to do that. How can I register a handle to these paths? I am currently using GAE 1.5.1, GWT and Guice. Thanks for any hint, -- Sébastien Tromp -- 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: Mining logs for performance data
Or the script that's used to upload your application now offers the ability to download logs too: http://code.google.com/appengine/docs/java/tools/uploadinganapp.html You'd have to download frequently or not depending upon your log rate. Or you could create a servletrequestlistener to gather the stats you need and store them in the datastore or another datastore using the RemoteApiInstaller. On Jul 28, 10:18 am, Stephen Johnson onepagewo...@gmail.com wrote: I don't know if this will help you or not but you can read about a utility I wrote a while back that uses XMPP to send log info for real-time monitoring. These messages can be saved to files I believe by some of the chat clients out there or probably a custom chat client could be built to save the data to files in your own format. Maybe it will give you an idea of what you can do. It can be found atwww.professionalintellectualdevelopment.comand there's a link to the code at Google Project Hosting there as well. Stephen CortexConnect cortexconnect.appspot.com On Thu, Jul 28, 2011 at 9:40 AM, Kesava Neeli nke...@gmail.com wrote: Anyone from GAE team has better suggestions for this? Normally we setup a separate metrics logger in log4j which would log all metric events in a separate log file. Then we generate reports out of it. On GAE, we cannot define a logfile for a separate logger and don't have access to download any log file.. -- 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/-/t63On0QqjvkJ. To post to this group, send email to google-appengine-java@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-java@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
[appengine-java] Can my Google App receive Traffic from Single IP address
I want to host an SMS application on GAE and all my traffic will come from a SMS GATEWAY with a single IP address. My users send queries through SMS which will be routed to my app from SMS GATEWAY(single IP address). My app processes those queries and reply back through SMS (again through SMS GATEWAY). I can reply using URL FETCH(not a problem) but what i'm worried about is if I receive some 500 dynamic requests/sec from single IP address , GAE might block them thinking them as Dos(denial of service) attack . GAE either asks the user to enter a captcha at https://www.google.com/accounts/DisplayUnlockCaptcha or redirects to sorry.google.com and displays an error message itseems if it receives unusual traffic from single IP . But my users access app only through SMS. Please look at the production issue filed below : http://code.google.com/p/googleappengine/issues/detail?id=5239q=doscolspec=ID%20Type%20Component%20Status%20Stars%20Summary%20Language%20Priority%20Owner%20Log Has anyone hosted a similar app before ? -- 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: Datastore access deadlock
To be defensive, you may want to try setting ~8 second timeouts for queries (setTimeoutMillis()) and for general read/writes in, for jdo, jdoconfig.xml (javax.jdo.option.DatastoreReadTimeoutMillis, javax.jdo.option.DatastoreWriteTimeoutMillis). You can then retry a couple times within the request keeping under the 30 second limit. It often, but not always, succeeds on one of the retries and salvages the request. /Tom On Jul 28, 5:11 pm, Eduardo Garcia Lopez egar...@stream18.com wrote: Hi, since last week I am experiencing a very serious problem in my application. Probably since I deployed for the first time after the new SDK 1.5.2 was released. The application is locking during 30 seconds (then it raises an timeout Exception) just doing a single query. The query starts running normally during a couple hours, then randomly starts locking, and after that almost all queries like this lock. This is the query: PersistenceManager pm = PMF.get().getPersistenceManager(); cmd = pm.getObjectById(Command.class, id); I have also tried changing to this query: PersistenceManager pm = PMF.get().getPersistenceManager(); query = pm.newQuery(Command.class, id == idParameter); query.declareParameters(Long idParameter); query.setRange(0,1); query.setUnique(true); cmd = (Command) query.execute(id); in both cases, it hangs in last sentence. The persistence class is NOT marked as detachable. The received exception is this: com.google.apphosting.api.ApiProxy$ApiDeadlineExceededException: The API call datastore_v3.RunQuery() took too long to respond and was cancelled Can somebody help me with this? Is somebody experiencing this error? -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-java@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
[google-appengine] Blacklist page not showing top visitors IPs on HR apps
Hi, I have a few apps on and MS and a few apps on HR. MS app are showing *Top 25 visitors *on Blacklist page while HR apps are not showing any such list. Do I need to configure something to see the the *Top 25 visitors** *for HR apps ? Thanks in advance :) -- Prashant -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, 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: Blacklist page not showing top visitors IPs on HR apps
Everyday an Evolution/2.32.2 bot is making hundreds of hits on my app's home page. How do I block it ? On Thu, Jul 28, 2011 at 12:18 PM, Prashant antsh...@gmail.com wrote: Hi, I have a few apps on and MS and a few apps on HR. MS app are showing *Top 25 visitors *on Blacklist page while HR apps are not showing any such list. Do I need to configure something to see the the *Top 25 visitors** *for HR apps ? Thanks in advance :) -- Prashant -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, 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: Blacklist page not showing top visitors IPs on HR apps
I tried uploading dos.xml with only my own IP address in it. Requests are getting blocked but Blacklist page is not showing any record of rejected visitors. On Thu, Jul 28, 2011 at 12:23 PM, Prashant antsh...@gmail.com wrote: Everyday an Evolution/2.32.2 bot is making hundreds of hits on my app's home page. How do I block it ? On Thu, Jul 28, 2011 at 12:18 PM, Prashant antsh...@gmail.com wrote: Hi, I have a few apps on and MS and a few apps on HR. MS app are showing *Top 25 visitors *on Blacklist page while HR apps are not showing any such list. Do I need to configure something to see the the *Top 25 visitors* * *for HR apps ? Thanks in advance :) -- Prashant -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, 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: Blacklist page not showing top visitors IPs on HR apps
You should star this issue: http://code.google.com/p/googleappengine/issues/detail?id=5237 On Jul 28, 9:21 am, Prashant antsh...@gmail.com wrote: I tried uploading dos.xml with only my own IP address in it. Requests are getting blocked but Blacklist page is not showing any record of rejected visitors. On Thu, Jul 28, 2011 at 12:23 PM, Prashant antsh...@gmail.com wrote: Everyday an Evolution/2.32.2 bot is making hundreds of hits on my app's home page. How do I block it ? On Thu, Jul 28, 2011 at 12:18 PM, Prashant antsh...@gmail.com wrote: Hi, I have a few apps on and MS and a few apps on HR. MS app are showing *Top 25 visitors *on Blacklist page while HR apps are not showing any such list. Do I need to configure something to see the the *Top 25 visitors* * *for HR apps ? Thanks in advance :) -- Prashant -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
[google-appengine] Re: Google app engine throwing NoSuchMethodError suddenly
It is in my WEB-INF/lib and my application was working fine until one fine day it stopped because it suddenly can find that method in this class... I have opted to use commons apache StringUtils as of now.. On Jul 22, 7:18 pm, Ikai Lan (Google) ika...@google.com wrote: Are you using the version of StringUtils that is in com.repackaged? If so, I'd advise you import a version of that into WEB-INF/lib. I'll check if it has changed, but in general, you probably shouldn't depend on the stuff that is in com.repackaged (I'll see if this is our policy and get it added to the docs if so). Ikai Lan Developer Programs Engineer, Google App Engine Blog:http://googleappengine.blogspot.com Twitter:http://twitter.com/app_engine Reddit:http://www.reddit.com/r/appengine On Fri, Jul 22, 2011 at 5:28 AM, Prateek Mathur prateek.mat...@metacube.com wrote: Any update on this?? On Jul 19, 2:49 pm, Prateek Mathur prateek.mat...@metacube.com wrote: Hi, I started seeing the following exception on my production builds suddenly and my application is broken because of this. java.lang.NoSuchMethodError: com.google.appengine.repackaged.com.google.common.base.StringUtil.isEmpty(L java/ lang/String;)Z at com.metacube.ipathshala.manager.util.SearchRequestAssembler.assemble(Search RequestAssembler.java: 129) at com.metacube.ipathshala.manager.SearchManager.doSearch(SearchManager.java: 70) Was there any changes in the runtime sdk for theStringUtilclass..It seems to indicate that the method doesnt exist anymore, while few days back the application was running fine with the same api... Any news on what might have happened? Thanks, Prateek. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
[google-appengine] Re: Stuck indexes, please help
Thx, I couldn't find this. Someone should consider putting this into the official docs: http://code.google.com/intl/pl/appengine/kb/general.html#stuck_indexes -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
Re: [google-appengine] Re: Any sample program for DeferredTask ?
Thanks for the reply, I am interested in java not python. On Thu, Jul 28, 2011 at 6:24 AM, Tim Hoffman zutes...@gmail.com wrote: And of course http://code.google.com/appengine/articles/deferred.html -- You received this message because you are subscribed to the Google Groups Google App Engine group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine/-/kZfeD2AlUKIJ. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en. -- Regards Suresh Babu G http://www.accountingguru.in/ -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, 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] authentication for non web based python apps
Hi all, Currently, we are deploying a wireless sensor network at one of international leading semiconductor companies in UK to monitor the efficiency of their facilities. We are building a non web based python application which is residing on GAE. The situation is this: I have built another non web based python application on a remote PC to gather the data from the wireless sensor network and send those information via https to the python application on GAE, and put them into the google data store. Our customer require the https for the data communication. My current strategy is using what GAE suggests login and secure features enables in app.yaml file, but I think this is for the web based application authentication, is that right? The question is I have no problem for sending data from python app at PC end to GAE without authentication, but if this is enabled, the python can't be able to send data to GAE even I logged in using admin account in the web browser. So I think logging in from web using my Google account will enable the non web based python application to be authorised for data communication over https. Am I right? I have looked at OAuth, but it seems to me I still need to do the web sign-in before the data consumer app can act on behalf of users. In addition, my understanding is that the data consumer app is also web based. Can anyone make some suggestions for our specific situation please? How to make the auto sign-in for the data communication over https between two non web based python apps? Thank you very much. Best regards, Ruoshui -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
Re: [google-appengine] Re: Created new app but application does not exist
Jose, Thanks for the clarification. But to be very clear, the message should ideally be something like You do not have rights to this application (app_id=u'androidquery'). instead of... This application does not exist (app_id=u'androidquery'). The second message only makes sense when there is no such app in App Engine!! Hope you agree. Thanks again. Sam On Wed, Jul 27, 2011 at 10:18 PM, Jose Montes de Oca jfmontesde...@google.com wrote: Hi Peter, It would be good to see what was the first error you were receiving. But on regards the second one, the error is not confusing it just means you were trying to deploy an app from a google account that did not was an owner/developer of the app ID, therefore that application did not existed in the scope of the user you were using to deploy with. Hope this clarifies the error. Best, Jose On Wednesday, July 27, 2011 6:31:15 AM UTC-7, Peter Liu wrote: That does it! I forgot I logged into another account. The error from the creation process and the error message from the deployment is confusing. On Jul 27, 5:14 pm, Sameer Lodha sam...@gmail.com wrote: By user id I meant - Your Google ID. On Wed, Jul 27, 2011 at 2:43 PM, Sameer Lodha sam...@gmail.com wrote: Most probably, the user id you are using for the app upload does not have the rights to the application. In the App Engine Console, go to Administration - Permissions. Here you can setup the permissions. Hope this helps. Sam On Wed, Jul 27, 2011 at 2:13 AM, Peter Liu tiny...@gmail.com wrote: Hi, I tried to create a new app called androidquery, and the web UI shows some error (forgot exact wording). Despite the message, I can access the admin panel for this app, so it's created (at least half way) and the appid is reserved. But when I deploy, it shows this error: java.io.IOException: Error posting to URL: https://appengine.google.com/api/appversion/create?app_id=androidquer... 404 Not Found This application does not exist (app_id=u'androidquery'). I suppose some error happened in the middle of the app creation process and the app is stuck? Anyway to rescue the app or the app id? I really want to keep the app id because it matches my .com domain. Many 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-a...@googlegroups.com. To unsubscribe from this group, send email to google-appengi...@googlegroups.com. For more options, visit this group athttp://groups.google.com/group/google-appengine?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine/-/RMf7WefgiloJ. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
Re: [google-appengine] TransactionFailedError: Is the transaction committed or not?
The problem is that google transactions can report an exception, and then go ahead and succeed anyway. So the docs recommend that you only write idempotent transactions, which is a completely silly suggestion. I've yet to see a single example of how one might write an idempotent transaction. (Unless, I suppose, you create a separate child model in the database which is parented by the object you are transacting on, and then you query the list of children every time you retry your transaction to see if its already in there, but that won't scale.) I contend that a DB that cannot tell you reliably whether a transaction succeeded for failed does not support transactions. GAE can essentially report 3 possible results from a transaction: - Definitely succeeded - Definitely failed - Beats me I contend that third possible result makes it impossible to write software that relies on transactions. Therefore, GAE doesn't support transactions. On Jul 27, 2011, at 8:58 PM, Tim Hoffman wrote: If you always get modify put within a transaction how would it be unreliable? Rgds Tim -- You received this message because you are subscribed to the Google Groups Google App Engine group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine/-/mP_8kv_-LlMJ. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
[google-appengine] Re: TransactionFailedError: Is the transaction committed or not?
I agree with Joshua. This kind of behavior would not be acceptable if I was to make an app that requires 100% consistency and easy to program. For stuff like this I use a relational db. Ravneet On Jul 28, 10:02 am, Joshua Smith joshuaesm...@charter.net wrote: The problem is that google transactions can report an exception, and then go ahead and succeed anyway. So the docs recommend that you only write idempotent transactions, which is a completely silly suggestion. I've yet to see a single example of how one might write an idempotent transaction. (Unless, I suppose, you create a separate child model in the database which is parented by the object you are transacting on, and then you query the list of children every time you retry your transaction to see if its already in there, but that won't scale.) I contend that a DB that cannot tell you reliably whether a transaction succeeded for failed does not support transactions. GAE can essentially report 3 possible results from a transaction: - Definitely succeeded - Definitely failed - Beats me I contend that third possible result makes it impossible to write software that relies on transactions. Therefore, GAE doesn't support transactions. On Jul 27, 2011, at 8:58 PM, Tim Hoffman wrote: If you always get modify put within a transaction how would it be unreliable? Rgds Tim -- You received this message because you are subscribed to the Google Groups Google App Engine group. To view this discussion on the web visithttps://groups.google.com/d/msg/google-appengine/-/mP_8kv_-LlMJ. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group athttp://groups.google.com/group/google-appengine?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
Re: [google-appengine] Re: Any sample program for DeferredTask ?
You should mention that when you post, so people don't waste your time. T -- You received this message because you are subscribed to the Google Groups Google App Engine group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine/-/IgnmreJDebMJ. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, 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: TransactionFailedError: Is the transaction committed or not?
On Jul 26, 9:40 pm, Jose Montes de Oca jfmontesde...@google.com wrote: Hi Pol, What this meas is that even if a transaction throws an exception this does not means the transaction failed, thats why you need to make your datastore transaction idempotent. So if you retry a transaction because it throws an exception, your transaction needs to check if the last transaction committed successfully or not. I don't understand how GAE could not report if the transaction succeeded or not. Clearly this stuff is deterministic. You're saying I have to maintain my own journal of transactions to check against. But then that journal is itself would have to be updated through transactions, so it needs to be journaled as well and so on... it's completely unsolvable. How would implement a bank on such a system? How could you ever 100% guarantee a user's transactions are all in there or that the account's balance is correct? Let's even look at a simple example: if you were to implement a simple counter, how do you make that idempotent? txn() counter = Counter.get(...) counter.value += 1 counter.put() -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, 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: TransactionFailedError: Is the transaction committed or not?
I see two big problems here: 1) There appear to be absolutely no record, say in the dashboard, of failed transactions that eventually succeeded or really failed. For some type of apps, I could live with 1 in a million transaction failure that may or may not be eventually successful, but I need to know which entity got in a degenerated state. 2) The benefit of the current approach of fake-real-transactions is completely unknown: does it make GAE massively faster or more reliable or something? For instance, if you choose non-redundant storage in Amazon S3: 1) you get notifications for lost objects 2) it's cheaper On Jul 28, 4:02 pm, Joshua Smith joshuaesm...@charter.net wrote: The problem is that google transactions can report an exception, and then go ahead and succeed anyway. So the docs recommend that you only write idempotent transactions, which is a completely silly suggestion. I've yet to see a single example of how one might write an idempotent transaction. (Unless, I suppose, you create a separate child model in the database which is parented by the object you are transacting on, and then you query the list of children every time you retry your transaction to see if its already in there, but that won't scale.) I contend that a DB that cannot tell you reliably whether a transaction succeeded for failed does not support transactions. GAE can essentially report 3 possible results from a transaction: - Definitely succeeded - Definitely failed - Beats me I contend that third possible result makes it impossible to write software that relies on transactions. Therefore, GAE doesn't support transactions. On Jul 27, 2011, at 8:58 PM, Tim Hoffman wrote: If you always get modify put within a transaction how would it be unreliable? Rgds Tim -- You received this message because you are subscribed to the Google Groups Google App Engine group. To view this discussion on the web visithttps://groups.google.com/d/msg/google-appengine/-/mP_8kv_-LlMJ. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group athttp://groups.google.com/group/google-appengine?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
[google-appengine] Question about GAE authentication options
I have an android app that authenticates with my GAE app using Google Accounts authentication. Here's a snippet from app engine documentation: Google Accounts: is Google's unified sign-in system. All a user needs is a valid email address (it doesn't need to be a Gmail address!) to sign up for a Google Account** I use the android AccountManager.getAccountsByType('com.google) call to determine all the eligible accounts on the android device, that can be used to authenticate with my GAE app. However, the getAccountsByType only returns a list of Gmail accounts, and omits google app accounts on private domains. I was hoping that since my GAE authentication scheme uses Google Accounts, and the snippet above says it doesn't need to be a Gmal address, that the getAccountsByType android API will return google app accounts as well, which users could use against my GAE app. Anyone know why my getAccountsByType() API is behaving this way? Is there a different type string - other than com.google that I need to pass to get google app accounts hosted on private domains? Thanks - Rishi -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, 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] full text search and/or external search services
hi guys, i really need to have a full text search on my app and i wanted to know what kind of external services you are using on your apps. or how you implement such a service. i tried whoosh-appengine but first its a really old version and second it has huge issues with 1000+ indexed entities. we don't know when the full text search will be released for GAE right? thx -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
[google-appengine] Re: GAE Starts dynamic instances for no reason... causing unnecessary cold start delays
Wow that's awesome. Thanks Jon for the very thoughtful analysis. I understand what's going on now. I recommend you change the scheduler to favor instances that have been warmed up over N milliseconds where N is the average start-up time for the app. You should never send a request to a new instance when there is an idle instance (dynamic or reserved) that is hot. Without this change, new requests will be delayed unnecessarily which is unacceptable for a user-facing app. Thanks again for the detailed analysis and recommendations. Love the log searching tricks. On Jul 27, 7:12 pm, Jon McAlister jon...@google.com wrote: So, there's a couple of things going on here. I'll see if I can help explain. The first is that with 1.5.2 we changed how resident instances work, so that if a dynamic instance existed, the scheduler would prefer an idle dynamic instance to an idle resident instance. Further, if a resident instance was busy, we would use this as a cue to warmup a new dynamic instance. The point of these changes is to turn the resident instances into the reserve for the app. They are generally idle, but if the app gets more traffic than it can handle with non-reserved instances, then it will use some of the reserved instances (and this will in turn spawn a new dynamic instance). Generally, Always On is going away with the new billing plan, and being replaced by Min Idle Instances, which is how the reserved instances have been changed to behave with 1.5.2. We're continuing to evaluate all aspects here, both how well these reserve instances are working, what we should be doing, what we should change about the scheduler and the billing plan, and so on. In terms of this specific example, the slow request was caused by general bigtable slowness during that time interval. This can be seen somewhat here:http://code.google.com/status/appengine/detail/datastore/2011/07/27#a... This can also be investigated somewhat using our logs viewer. For example, we can see all loading requests for an app with:https://appengine.google.com/logs?app_id=wordpongseverity_level_over Note how the only loading requests this app has received have been /_ah/warmup Also we can see all requests sent to a specific instance. Here's the one with the log line you listed above:https://appengine.google.com/logs?app_id=wordpongseverity_level_over Note how the first request the instance served was /_ah/warmup, followed by a pause of 4 seconds, followed by the /game/Game.wp request which ran for 9 seconds. There are a couple of things that can be done now to get different behaviors. One is to set Max Idle Instances to three, which will kill off the dynamic instances for your app, and leave the app with just the resident instances. The other is to use Backends, which will give you direct control over how many instances run for your app and their properties:http://code.google.com/appengine/docs/java/backends/overview.html Hopefully that helps. There is also a lengthy discussion going on at:http://groups.google.com/group/google-appengine/browse_thread/thread/... On Wed, Jul 27, 2011 at 2:59 PM, Mike Lawrence m...@systemsplanet.com wrote: I purchased 3 Always-On instances. My site is under construction with no traffic. When I hit my site, GAE fires up a new dynamic instance to service the request when there are 3 idle instances! My app starts in 2.0 seconds (using stripes) But GAE takes 9.4 seconds to reply (why?). Really annoying. Why pay for Always-On when you get the crappy response time of dynamic instances? App Id: WordPong EST: 2011-07-27 17:37:04.859 /game/Game.wp?_eventName=questionList 200 9481ms 2063cpu_ms 103api_cpu_ms 1kb Mozilla/5 2011-07-27 12:37:51 Completed update of a new default version version=22.2011-07-27T19:37:17Z Here's the screen shot of my instances at the time of the request: http://dl.dropbox.com/u/473572/Untitled.jpg Why are there any dynamic instances running at all when there are 3 idle always-on instances available? Looks like a serious bug where GAE is wasting resources and providing poor response times for no reason. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group athttp://groups.google.com/group/google-appengine?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
[google-appengine] Re: Question about GAE authentication options
My bad! type=com.google does return google app accounts. I had a gmail.com filter, which I totally forgot about. Google App accounts can authenticate with GAE just as well as regular Gmail accounts - just as the documentation says. On Thu, Jul 28, 2011 at 9:58 AM, Rishi Arora rishi.ar...@ship-rack.comwrote: I have an android app that authenticates with my GAE app using Google Accounts authentication. Here's a snippet from app engine documentation: Google Accounts: is Google's unified sign-in system. All a user needs is a valid email address (it doesn't need to be a Gmail address!) to sign up for a Google Account** I use the android AccountManager.getAccountsByType('com.google) call to determine all the eligible accounts on the android device, that can be used to authenticate with my GAE app. However, the getAccountsByType only returns a list of Gmail accounts, and omits google app accounts on private domains. I was hoping that since my GAE authentication scheme uses Google Accounts, and the snippet above says it doesn't need to be a Gmal address, that the getAccountsByType android API will return google app accounts as well, which users could use against my GAE app. Anyone know why my getAccountsByType() API is behaving this way? Is there a different type string - other than com.google that I need to pass to get google app accounts hosted on private domains? Thanks - Rishi -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, 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: Sending email from java issues
Hello, It's done it again. For no reason, nothing has changed but now I'm getting the errors below. Can anyone explain the problem? Many thanks Martin MailService IO failed (java.io.IOException: Internal error)javax.mail.SendFailedException: MailService IO failed (java.io.IOException: Internal error) at com.google.appengine.api.mail.stdimpl.GMTransport.sendMessage(GMTransport.java: 253) at javax.mail.Transport.send(Transport.java:95) at javax.mail.Transport.send(Transport.java:48) at com.nettrekking.SendEmailServlet.doPost(SendEmailServlet.java:139) at javax.servlet.http.HttpServlet.service(HttpServlet.java:637) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java: 511) at org.mortbay.jetty.servlet.ServletHandler $CachedChain.doFilter(ServletHandler.java:1166) at com.google.apphosting.utils.servlet.ParseBlobUploadFilter.doFilter(ParseBlobUploadFilter.java: 97) at org.mortbay.jetty.servlet.ServletHandler $CachedChain.doFilter(ServletHandler.java:1157) at com.google.apphosting.runtime.jetty.SaveSessionFilter.doFilter(SaveSessionFilter.java: 35) at org.mortbay.jetty.servlet.ServletHandler $CachedChain.doFilter(ServletHandler.java:1157) at com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java: 43) at org.mortbay.jetty.servlet.ServletHandler $CachedChain.doFilter(ServletHandler.java:1157) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java: 388) at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java: 216) at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java: 182) at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java: 765) at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java: 418) at com.google.apphosting.runtime.jetty.AppVersionHandlerMap.handle(AppVersionHandlerMap.java: 249) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java: 152) at org.mortbay.jetty.Server.handle(Server.java:326) at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java: 542) at org.mortbay.jetty.HttpConnection $RequestHandler.headerComplete(HttpConnection.java:923) at com.google.apphosting.runtime.jetty.RpcRequestParser.parseAvailable(RpcRequestParser.java: 76) at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404) at com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceRequest(JettyServletEngineAdapter.java: 135) at com.google.apphosting.runtime.JavaRuntime.handleRequest(JavaRuntime.java: 260) at com.google.apphosting.base.RuntimePb$EvaluationRuntime $2.handleRequest(RuntimePb.java:9805) at com.google.net.rpc.impl.RpcUtil.runRpcInApplication(RpcUtil.java: 422) at com.google.net.rpc.impl.Server$RpcTask.runInContext(Server.java: 579) at com.google.tracing.TraceContext$TraceContextRunnable $1.run(TraceContext.java:449) at com.google.tracing.TraceContext.runInContext(TraceContext.java: 689) at com.google.tracing.TraceContext $AbstractTraceContextCallback.runInInheritedContextNoUnref(TraceContext.java: 327) at com.google.tracing.TraceContext $AbstractTraceContextCallback.runInInheritedContext(TraceContext.java: 319) at com.google.tracing.TraceContext $TraceContextRunnable.run(TraceContext.java:447) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java: 1110) at java.util.concurrent.ThreadPoolExecutor $Worker.run(ThreadPoolExecutor.java:603) at java.lang.Thread.run(Thread.java:636) Caused by: java.io.IOException: Internal error at com.google.appengine.api.mail.MailServiceImpl.doSend(MailServiceImpl.java: 123) at com.google.appengine.api.mail.MailServiceImpl.send(MailServiceImpl.java: 33) at com.google.appengine.api.mail.stdimpl.GMTransport.sendMessage(GMTransport.java: 247) ... 38 more On Jul 23, 8:39 am, martin waller mar...@the-wallers.net wrote: Hello Myappseems to have hit problems sending email. It has been working fine until yesterday around 13:00 gmt. From that point on I'm getting an io exception being thrown with the error text of internal error. Has anyone else seem similar issues I wonder? Martin -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
Re: [google-appengine] Persisting Lists
Thanks! I wall implement this and test to see the results, in performance. I'll try to post the results here for the information of all. Thanks again, i'm thinking that Objectify is not a good idea for this, so i will have to rewrite dome things. 2011/7/27 Ernesto Oltra ernestoka...@gmail.com I thought one thing and I said something completely differente -.-' I meant having a model, with the same key_id/key_name as the post and a list of users (say 4000/4500). When that super-start with 200.000 followers post something, run a taskqueue and save several models with the info. Then, for listing, do a key-only query where the user is in the list of affected ones. Then, with the keys, obtaing the posts (they have the same key_id/key_name). A cron job will delete old notifications. Most of users will have less than 700/800 followers (if it's something like Twitter), so they will consume only one notification model per post. And the costs come from indexes (a lot of lists to index), serialization (4000/4500 items), deserialization (we use it with keys, so almost no cost), deleting old notifications (we use keys too) Anyway, I'm willing to hear new ideas, surely they can largely improve my system Ernesto -- You received this message because you are subscribed to the Google Groups Google App Engine group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine/-/fC_ZvMvF6MoJ. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
[google-appengine] Reverse Engineering for NoSQL
Anyone knows a good software to create a Class Model Diagram for Nosql dataBases? Especifically for AppeGneine Java? -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, 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 sender address be spoofed in XMPP?
Hi, I'm not very familiar with the XMPP protocol but from the GAE Python docs, I couldn't figure the answer to this question: if a message is received by App Engine claiming to come from a server at: - a google apps domain, - a gmail.com, - a random domain Can any of these be spoofed like the HTTP headers for web requests? - Pol -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
Re: [google-appengine] Persisting Lists
good idea also :) On Wed, Jul 27, 2011 at 7:17 PM, Ernesto Oltra ernestoka...@gmail.comwrote: And for followers, you could too shard the lists. You can have several entities, each with, about 100 results or so (or 1000, or 2000, I prefer 100 for easy of serializing/deserializing). All these would have the user as ancestor. When listing, take only one entity, deserializing its lists (only 100 results) and show some of them. When listing all, you can use cursors and some tricks to have the job done (job = paging =) ) -- You received this message because you are subscribed to the Google Groups Google App Engine group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine/-/tRQCOATsWdUJ. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
Re: [google-appengine] authentication for non web based python apps
Hi Ruoshui, You're app can use https regardless of whether or not you use any type of login authentication. https causes the http data transmission to be encrypted, it doesn't have anything to do with actually logging in to your app or not. So, when your python app makes the http request, replace it with an https url instead. If in addition, you want to make sure that your client-side app is the only one sending data to it just as a precaution then just add a password/identifier to the request that the server validates and have some mechanism to change this on both the client and server side, but it doesn't sound like that is even necessary from what your saying, the company just doesn't want the data sent over the internet in plain text. You can check that requests are being sent over https by checking the Quota Details page once you've made the changes to your client-side app. You could also add to your request handlers on the server-side that any communication that isn't https be rejected as a further precaution. Stephen CortexConnect cortexconnect.appspot.com On Thu, Jul 28, 2011 at 4:35 AM, liu ruos...@aquamw.com wrote: Hi all, Currently, we are deploying a wireless sensor network at one of international leading semiconductor companies in UK to monitor the efficiency of their facilities. We are building a non web based python application which is residing on GAE. The situation is this: I have built another non web based python application on a remote PC to gather the data from the wireless sensor network and send those information via https to the python application on GAE, and put them into the google data store. Our customer require the https for the data communication. My current strategy is using what GAE suggests login and secure features enables in app.yaml file, but I think this is for the web based application authentication, is that right? The question is I have no problem for sending data from python app at PC end to GAE without authentication, but if this is enabled, the python can't be able to send data to GAE even I logged in using admin account in the web browser. So I think logging in from web using my Google account will enable the non web based python application to be authorised for data communication over https. Am I right? I have looked at OAuth, but it seems to me I still need to do the web sign-in before the data consumer app can act on behalf of users. In addition, my understanding is that the data consumer app is also web based. Can anyone make some suggestions for our specific situation please? How to make the auto sign-in for the data communication over https between two non web based python apps? Thank you very much. Best regards, Ruoshui -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
[google-appengine] 500 deployment errors, here we go again
Anyone else observing? It's been failing for me for the last 20mn. Google: is the SLA for the entire app engine stack (including deployment) or just its top (the running app)? - Application: XXX; version: 953 (was: 1) Host: appengine.google.com Starting update of app: XXX, version: 953 Scanning files on local disk. Cloning 1 static file. Cloning 124 application files. Cloned 100 files. Rolling back the update. Error 500: --- begin server output --- htmlhead meta http-equiv=content-type content=text/html;charset=utf-8 title500 Server Error/title /head body text=#00 bgcolor=#ff h1Error: Server Error/h1 h2The server encountered an error and could not complete your request.pIf the problem persists, please A HREF=http:// code.google.com/appengine/community.htmlreport/A your problem and mention this error message and the query that caused it./h2 h2/h2 /body/html --- end server output --- - Pol -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
Re: [google-appengine] 500 deployment errors, here we go again
+1 Been happening the last 15 minutes or so. On Thu, Jul 28, 2011 at 11:38 AM, Pol i...@pol-online.net wrote: Anyone else observing? It's been failing for me for the last 20mn. Google: is the SLA for the entire app engine stack (including deployment) or just its top (the running app)? - Application: XXX; version: 953 (was: 1) Host: appengine.google.com Starting update of app: XXX, version: 953 Scanning files on local disk. Cloning 1 static file. Cloning 124 application files. Cloned 100 files. Rolling back the update. Error 500: --- begin server output --- htmlhead meta http-equiv=content-type content=text/html;charset=utf-8 title500 Server Error/title /head body text=#00 bgcolor=#ff h1Error: Server Error/h1 h2The server encountered an error and could not complete your request.pIf the problem persists, please A HREF=http:// code.google.com/appengine/community.htmlreport/A your problem and mention this error message and the query that caused it./h2 h2/h2 /body/html --- end server output --- - Pol -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
[google-appengine] Re: 500 deployment errors, here we go again
+1 -- You received this message because you are subscribed to the Google Groups Google App Engine group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine/-/OOBgVbiGCUsJ. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
Re: [google-appengine] Re: 500 deployment errors, here we go again
same here On Jul 28, 2011, at 6:48 PM, Robert Lancer wrote: +1 -- You received this message because you are subscribed to the Google Groups Google App Engine group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine/-/OOBgVbiGCUsJ. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
Re: [google-appengine] Re: TransactionFailedError: Is the transaction committed or not?
This does seem to be a conundrum. I'll offer up an idea for those instances where this behavior is of concern. It's not a great solution but if you need to guarantee that a transaction definitely succeeds and your transaction is idempotent then maybe this or some variation will help. First off, incrementing version numbers won't work due to the following scenario: 1.) open a transaction find out the current version is 78 2.) perform update and increment the version to 79 3.) commit transaction 4.) get an exception. Now, did the transaction succeed or fail?? This is the conundrum 5.) so re-fetch the item and check the version number, it says 79, so transaction must have succeed, but what if some other transaction in the meantime was the one that updated the item and incremented the version number. So back to conundrum!!! Okay, so instead of using a version number we use a random transaction stamp (this could be a random number plus some hashed in data that is being transacted, etc. to make it really unique). Then instead of a version number property, we add a transaction stamp list that holds, for example, the last 5 or 10 stamps, or however many you want. So it goes like this: 1.) open a transaction 2.) perform update 3.) add unique transaction stamp to list, if list has reached maximum remove the oldest one (FIFO). 4.) commit transaction 5.) if everything is fine, go on our merry way 6.) if exception is generated, then re-query the entity if the entity has our unique timestamp in its list then the transaction really did succeed, if not then the transaction really did fail. Well, that's my idea, Stephen CortexConnect cortexconnect.appspot.com On Thu, Jul 28, 2011 at 7:51 AM, Pol i...@pol-online.net wrote: I see two big problems here: 1) There appear to be absolutely no record, say in the dashboard, of failed transactions that eventually succeeded or really failed. For some type of apps, I could live with 1 in a million transaction failure that may or may not be eventually successful, but I need to know which entity got in a degenerated state. 2) The benefit of the current approach of fake-real-transactions is completely unknown: does it make GAE massively faster or more reliable or something? For instance, if you choose non-redundant storage in Amazon S3: 1) you get notifications for lost objects 2) it's cheaper On Jul 28, 4:02 pm, Joshua Smith joshuaesm...@charter.net wrote: The problem is that google transactions can report an exception, and then go ahead and succeed anyway. So the docs recommend that you only write idempotent transactions, which is a completely silly suggestion. I've yet to see a single example of how one might write an idempotent transaction. (Unless, I suppose, you create a separate child model in the database which is parented by the object you are transacting on, and then you query the list of children every time you retry your transaction to see if its already in there, but that won't scale.) I contend that a DB that cannot tell you reliably whether a transaction succeeded for failed does not support transactions. GAE can essentially report 3 possible results from a transaction: - Definitely succeeded - Definitely failed - Beats me I contend that third possible result makes it impossible to write software that relies on transactions. Therefore, GAE doesn't support transactions. On Jul 27, 2011, at 8:58 PM, Tim Hoffman wrote: If you always get modify put within a transaction how would it be unreliable? Rgds Tim -- You received this message because you are subscribed to the Google Groups Google App Engine group. To view this discussion on the web visithttps:// groups.google.com/d/msg/google-appengine/-/mP_8kv_-LlMJ. To post to this group, send email to google-appengine@googlegroups.com . To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group athttp:// groups.google.com/group/google-appengine?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
Re: [google-appengine] Re: TransactionFailedError: Is the transaction committed or not?
Oops, I meant that your transaction is NOT idempotent, duh. On Thu, Jul 28, 2011 at 10:31 AM, Stephen Johnson onepagewo...@gmail.comwrote: This does seem to be a conundrum. I'll offer up an idea for those instances where this behavior is of concern. It's not a great solution but if you need to guarantee that a transaction definitely succeeds and your transaction is idempotent then maybe this or some variation will help. First off, incrementing version numbers won't work due to the following scenario: 1.) open a transaction find out the current version is 78 2.) perform update and increment the version to 79 3.) commit transaction 4.) get an exception. Now, did the transaction succeed or fail?? This is the conundrum 5.) so re-fetch the item and check the version number, it says 79, so transaction must have succeed, but what if some other transaction in the meantime was the one that updated the item and incremented the version number. So back to conundrum!!! Okay, so instead of using a version number we use a random transaction stamp (this could be a random number plus some hashed in data that is being transacted, etc. to make it really unique). Then instead of a version number property, we add a transaction stamp list that holds, for example, the last 5 or 10 stamps, or however many you want. So it goes like this: 1.) open a transaction 2.) perform update 3.) add unique transaction stamp to list, if list has reached maximum remove the oldest one (FIFO). 4.) commit transaction 5.) if everything is fine, go on our merry way 6.) if exception is generated, then re-query the entity if the entity has our unique timestamp in its list then the transaction really did succeed, if not then the transaction really did fail. Well, that's my idea, Stephen CortexConnect cortexconnect.appspot.com On Thu, Jul 28, 2011 at 7:51 AM, Pol i...@pol-online.net wrote: I see two big problems here: 1) There appear to be absolutely no record, say in the dashboard, of failed transactions that eventually succeeded or really failed. For some type of apps, I could live with 1 in a million transaction failure that may or may not be eventually successful, but I need to know which entity got in a degenerated state. 2) The benefit of the current approach of fake-real-transactions is completely unknown: does it make GAE massively faster or more reliable or something? For instance, if you choose non-redundant storage in Amazon S3: 1) you get notifications for lost objects 2) it's cheaper On Jul 28, 4:02 pm, Joshua Smith joshuaesm...@charter.net wrote: The problem is that google transactions can report an exception, and then go ahead and succeed anyway. So the docs recommend that you only write idempotent transactions, which is a completely silly suggestion. I've yet to see a single example of how one might write an idempotent transaction. (Unless, I suppose, you create a separate child model in the database which is parented by the object you are transacting on, and then you query the list of children every time you retry your transaction to see if its already in there, but that won't scale.) I contend that a DB that cannot tell you reliably whether a transaction succeeded for failed does not support transactions. GAE can essentially report 3 possible results from a transaction: - Definitely succeeded - Definitely failed - Beats me I contend that third possible result makes it impossible to write software that relies on transactions. Therefore, GAE doesn't support transactions. On Jul 27, 2011, at 8:58 PM, Tim Hoffman wrote: If you always get modify put within a transaction how would it be unreliable? Rgds Tim -- You received this message because you are subscribed to the Google Groups Google App Engine group. To view this discussion on the web visithttps:// groups.google.com/d/msg/google-appengine/-/mP_8kv_-LlMJ. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group athttp:// groups.google.com/group/google-appengine?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
Re: [google-appengine] TransactionFailedError: Is the transaction committed or not?
6.) if exception is generated, then re-query the entity if the entity has our unique timestamp in its list then the transaction really did succeed, if not then the transaction really did fail. Could work, except that you'll need to do #6 with a task queue task, because in the case of an exception, they only say it might eventually make it into the database. So if you just requery and it isn't there, then you don't know that it didn't succeed… you just know it didn't succeed *yet*. And since the exception which leads to this problem is InternalError, and we know when those start coming up you can expect to see them continue for a long time, you're going to have a lot of stuff in that queue. So that means you need to throw this check into the task queue, and keep checking it for a while. Which probably means you need to have a really big list of recent transactions (not just 10). This hack is similar to what I suggested, which is to create a transaction record in the database as a child of the entity you are updating in the transaction. When you get the exception, you wait a while (how long???) and then see if the transaction record exists using an ancestor query. If it does, then the transaction succeeded, and if not, then it didn't. This avoids having to add goofy hacky attributes to the thing you are updating, and in principle, you can schedule a task to delete any transaction records for successful transactions (or periodically sweep up old ones with a cron job). So, I suppose, it is possible to create a framework that can really do transactions using the building blocks GAE has provided us, but to say that GAE supports transactions on its own is a stretch. -Joshua -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
[google-appengine] Re: Adapting an existing webapp to GAE: accessing datastore
On Jul 20, 2:25 pm, Jeff Schnitzer wrote: Hi, In Eclipse, go to Project Properties - Google - App Engine and check the Use Google App Engine box. Thank you. As that's an existing app, I can't create a new project in Eclipse, but it helped me to identify what JAR files to put in WEB-INF/lib/. The GAE documentation page about JDO http://code.google.com/appengine/docs/java/datastore/jdo/overview.html was helpful too, for the record. Thanks! -- Florent Georges http://fgeorges.org/ -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
Re: [google-appengine] Re: 500 deployment errors, here we go again
It's working again for me now. On Thu, Jul 28, 2011 at 12:10 PM, andreas schmid a.schmi...@gmail.comwrote: same here On Jul 28, 2011, at 6:48 PM, Robert Lancer wrote: +1 -- You received this message because you are subscribed to the Google Groups Google App Engine group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine/-/OOBgVbiGCUsJ. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
[google-appengine] --enable_jar_splitting option of appcfg.sh
Hi, I wonder what the option --enable_jar_splitting of appcfg.sh is about. I haven't found any documentation on the GAE website. The script doc says: Split large jar files ( 10M) into smaller fragments. But if I understand correctly the section Deployments from http://code.google.com/appengine/docs/quotas.html, the total quota for the app size is anyway 10M. So cutting JAR files above that limit won't help if I'm right, because the app size will be over the limit anyway. Did I miss anything? Regards, -- Florent Georges http://fgeorges.org/ -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
Re: [google-appengine] TransactionFailedError: Is the transaction committed or not?
I should have mentioned that the re-fetch should be done in a transaction, which should take away the eventually part since from what I've gathered I think you're reading directly from the master transaction log. As for the continuous timing out due to datastore issues then you'd have to fallback to the task queue as Joshua has stated. It's not a perfect solution but oh well. On Thu, Jul 28, 2011 at 10:48 AM, Joshua Smith joshuaesm...@charter.netwrote: 6.) if exception is generated, then re-query the entity if the entity has our unique timestamp in its list then the transaction really did succeed, if not then the transaction really did fail. Could work, except that you'll need to do #6 with a task queue task, because in the case of an exception, they only say it might eventually make it into the database. So if you just requery and it isn't there, then you don't know that it didn't succeed… you just know it didn't succeed *yet*. And since the exception which leads to this problem is InternalError, and we know when those start coming up you can expect to see them continue for a long time, you're going to have a lot of stuff in that queue. So that means you need to throw this check into the task queue, and keep checking it for a while. Which probably means you need to have a really big list of recent transactions (not just 10). This hack is similar to what I suggested, which is to create a transaction record in the database as a child of the entity you are updating in the transaction. When you get the exception, you wait a while (how long???) and then see if the transaction record exists using an ancestor query. If it does, then the transaction succeeded, and if not, then it didn't. This avoids having to add goofy hacky attributes to the thing you are updating, and in principle, you can schedule a task to delete any transaction records for successful transactions (or periodically sweep up old ones with a cron job). So, I suppose, it is possible to create a framework that can really do transactions using the building blocks GAE has provided us, but to say that GAE supports transactions on its own is a stretch. -Joshua -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
[google-appengine] Re: Channel API between front and backend instances
Not at the moment, but we're working on a fix for this, so that a channel created by a frontend can be used by a backend, and vice-versa. I can't provide an exact release date at this point, but it likely will be in one of the next few releases. Until then, the suggested method of handling this is to have either your frontend or backend be responsible for Channel communication, and use another mechanism for communication between FE and BE, such as urlfetch, memcache, the datastore, or the task queue. Justin -- You received this message because you are subscribed to the Google Groups Google App Engine group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine/-/zt_wogoz6YYJ. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
[google-appengine] Re: 500 deployment errors, here we go again
Appears to be working again, indeed. On Jul 28, 6:47 pm, Chris Copeland ch...@cope360.com wrote: +1 Been happening the last 15 minutes or so. On Thu, Jul 28, 2011 at 11:38 AM, Pol i...@pol-online.net wrote: Anyone else observing? It's been failing for me for the last 20mn. Google: is the SLA for the entire app engine stack (including deployment) or just its top (the running app)? - Application: XXX; version: 953 (was: 1) Host: appengine.google.com Starting update of app: XXX, version: 953 Scanning files on local disk. Cloning 1 static file. Cloning 124 application files. Cloned 100 files. Rolling back the update. Error 500: --- begin server output --- htmlhead meta http-equiv=content-type content=text/html;charset=utf-8 title500 Server Error/title /head body text=#00 bgcolor=#ff h1Error: Server Error/h1 h2The server encountered an error and could not complete your request.pIf the problem persists, please A HREF=http:// code.google.com/appengine/community.htmlreport/A your problem and mention this error message and the query that caused it./h2 h2/h2 /body/html --- end server output --- - Pol -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
[google-appengine] Seeing temporary blobstore upload errors today
App ID: microsite-dev, microsite-test (high replication) Uploading directly to blobstore, getting redirected to http://temporary-blobstore-error.appspot.com/ j -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
Re: [google-appengine] Impossible to update backend
I reached out to Eduardo about this last week. The problems he was having were temporary and went away on their own. The most likely cause of these issues was an upgrade that was applied to production around that time. Backend instances need to be shut down temporarily when these upgrades occur, which explains the disappearing instances. The problem of failed deployment was likely a due to a temporary instability in one of the bigtables that App Engine uses. We monitor those types of problems and they are usually resolved after a brief period of failed (or slow) deployments. Justin -- You received this message because you are subscribed to the Google Groups Google App Engine group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine/-/nyN4x2RHN8sJ. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, 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: authentication for non web based python apps
Hi Stephen, Thank you very much for you response. Are you saying I just need to use https connection in python like following: conn = httplib.HTTPSConnection('.appspot.com') conn.putrequest('POST', '.appspot.com') conn.putheader('Content-Length', str(len(packet_send))) conn.putheader('Content-Type', 'text/plain; charset=utf-8') conn.endheaders() conn.send(packet_send) How the authentication at the server part is done without giving any user name and password? My current situation is I would like to have both python apps, one at client end one at the server (GAE) end to communicate with each other by sending data from client to server over https channel, but I am not sure what is the appropriate way to implement such secure data transmission. Would you be able to be specific please? Many thanks, Best regards, Ruoshui On 7月28日, 下午5时36分, Stephen Johnson onepagewo...@gmail.com wrote: Hi Ruoshui, You're app can use https regardless of whether or not you use any type of login authentication. https causes the http data transmission to be encrypted, it doesn't have anything to do with actually logging in to your app or not. So, when your python app makes the http request, replace it with an https url instead. If in addition, you want to make sure that your client-side app is the only one sending data to it just as a precaution then just add a password/identifier to the request that the server validates and have some mechanism to change this on both the client and server side, but it doesn't sound like that is even necessary from what your saying, the company just doesn't want the data sent over the internet in plain text. You can check that requests are being sent over https by checking the Quota Details page once you've made the changes to your client-side app. You could also add to your request handlers on the server-side that any communication that isn't https be rejected as a further precaution. Stephen CortexConnect cortexconnect.appspot.com On Thu, Jul 28, 2011 at 4:35 AM, liu ruos...@aquamw.com wrote: Hi all, Currently, we are deploying a wireless sensor network at one of international leading semiconductor companies in UK to monitor the efficiency of their facilities. We are building a non web based python application which is residing on GAE. The situation is this: I have built another non web based python application on a remote PC to gather the data from the wireless sensor network and send those information via https to the python application on GAE, and put them into the google data store. Our customer require the https for the data communication. My current strategy is using what GAE suggests login and secure features enables in app.yaml file, but I think this is for the web based application authentication, is that right? The question is I have no problem for sending data from python app at PC end to GAE without authentication, but if this is enabled, the python can't be able to send data to GAE even I logged in using admin account in the web browser. So I think logging in from web using my Google account will enable the non web based python application to be authorised for data communication over https. Am I right? I have looked at OAuth, but it seems to me I still need to do the web sign-in before the data consumer app can act on behalf of users. In addition, my understanding is that the data consumer app is also web based. Can anyone make some suggestions for our specific situation please? How to make the auto sign-in for the data communication over https between two non web based python apps? Thank you very much. Best regards, Ruoshui -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
[google-appengine] Re: authentication for non web based python apps
Hi Stephen, Thank you very much for you response. Are you saying I just need to use https connection in python like following: conn = httplib.HTTPSConnection('.appspot.com') conn.putrequest('POST', '.appspot.com') conn.putheader('Content-Length', str(len(packet_send))) conn.putheader('Content-Type', 'text/plain; charset=utf-8') conn.endheaders() conn.send(packet_send) How the authentication at the server part is done without giving any user name and password? My current situation is I would like to have both python apps, one at client end one at the server (GAE) end to communicate with each other by sending data from client to server over https channel, but I am not sure what is the appropriate way to implement such secure data transmission. Would you be able to be specific please? Many thanks, Best regards, Ruoshui On 7月28日, 下午5时36分, Stephen Johnson onepagewo...@gmail.com wrote: Hi Ruoshui, You're app can use https regardless of whether or not you use any type of login authentication. https causes the http data transmission to be encrypted, it doesn't have anything to do with actually logging in to your app or not. So, when your python app makes the http request, replace it with an https url instead. If in addition, you want to make sure that your client-side app is the only one sending data to it just as a precaution then just add a password/identifier to the request that the server validates and have some mechanism to change this on both the client and server side, but it doesn't sound like that is even necessary from what your saying, the company just doesn't want the data sent over the internet in plain text. You can check that requests are being sent over https by checking the Quota Details page once you've made the changes to your client-side app. You could also add to your request handlers on the server-side that any communication that isn't https be rejected as a further precaution. Stephen CortexConnect cortexconnect.appspot.com On Thu, Jul 28, 2011 at 4:35 AM, liu ruos...@aquamw.com wrote: Hi all, Currently, we are deploying a wireless sensor network at one of international leading semiconductor companies in UK to monitor the efficiency of their facilities. We are building a non web based python application which is residing on GAE. The situation is this: I have built another non web based python application on a remote PC to gather the data from the wireless sensor network and send those information via https to the python application on GAE, and put them into the google data store. Our customer require the https for the data communication. My current strategy is using what GAE suggests login and secure features enables in app.yaml file, but I think this is for the web based application authentication, is that right? The question is I have no problem for sending data from python app at PC end to GAE without authentication, but if this is enabled, the python can't be able to send data to GAE even I logged in using admin account in the web browser. So I think logging in from web using my Google account will enable the non web based python application to be authorised for data communication over https. Am I right? I have looked at OAuth, but it seems to me I still need to do the web sign-in before the data consumer app can act on behalf of users. In addition, my understanding is that the data consumer app is also web based. Can anyone make some suggestions for our specific situation please? How to make the auto sign-in for the data communication over https between two non web based python apps? Thank you very much. Best regards, Ruoshui -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
[google-appengine] Re: full text search and/or external search services
If you are using Python then you can use Bill Katz solution until Google releases theirs: http://www.billkatz.com/2009/6/Simple-Full-Text-Search-for-App-Engine On Jul 28, 8:19 am, andreas schmid a.schmi...@gmail.com wrote: hi guys, i really need to have a full text search on my app and i wanted to know what kind of external services you are using on your apps. or how you implement such a service. i tried whoosh-appengine but first its a really old version and second it has huge issues with 1000+ indexed entities. we don't know when the full text search will be released for GAE right? thx -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
Re: [google-appengine] Re: full text search and/or external search services
you can also try to use compass also! I read somewhere it can work in GAE! but knowing when GAE FT will be out would be great! Pascal On Thu, Jul 28, 2011 at 9:32 PM, PandaSuit pandas...@gmail.com wrote: If you are using Python then you can use Bill Katz solution until Google releases theirs: http://www.billkatz.com/2009/6/Simple-Full-Text-Search-for-App-Engine On Jul 28, 8:19 am, andreas schmid a.schmi...@gmail.com wrote: hi guys, i really need to have a full text search on my app and i wanted to know what kind of external services you are using on your apps. or how you implement such a service. i tried whoosh-appengine but first its a really old version and second it has huge issues with 1000+ indexed entities. we don't know when the full text search will be released for GAE right? thx -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
[google-appengine] Re: Backend confusion
What's your application ID? Your should certainly see something in the logs. Also, you might want to double-check that you're using appcfg backends update (verify with appcfg backends list) and looking at the logs specifically for your backend (using the Version/Backend dropdown). Justin -- You received this message because you are subscribed to the Google Groups Google App Engine group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine/-/9_knaoVqA7QJ. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, 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: authentication for non web based python apps
Stephen said you could use HTTPS no matter what authentication system you have. And he suggested too hard-coding some random string in your client app and in the server; send it with all your request and check it in the server. As long as you keep that string secure, your system would be secure: conn = httplib.HTTPSConnection('.appspot.com') conn.putrequest('POST', '.appspot.com') conn.putheader('Content-Length', str(len(packet_send))) conn.putheader('Content-Type', 'text/plain; charset=utf-8') conn.putheader('Super-Secure-Password', 'qwertyuiopadfghjklñzcvbnm134567890') // or whatever you want conn.endheaders() conn.send(packet_send) and in the server (as an example if you're using webapp): class XX: def post(self): if self.request.headers['Super-Secure-Password'] != 'qwertyuiopadfghjklñzcvnm134567890': FireAlerts_UserIsNotAuthenticated() return OtherWorkHere() If you need a stronger system, you may want to use OAuth: http://code.google.com/intl/en/appengine/docs/python/oauth/overview.html However hard-code the password remains the easier way of doing authentication. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine/-/MDSVughJHRUJ. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, 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: GAE Starts dynamic instances for no reason... causing unnecessary cold start delays
Just ran a volume test on my server. The three reserved instances are not getting any traffic. That can't be normal. Instead GAE spawned 3 dynamic instances to handle all the load. I have set Max Idle instances to 3. Why would you ever want instances to sit idle under a load test? If you have capacity (idle instances), why not use them when you're under heavy load? http://dl.dropbox.com/u/473572/Untitled2.jpg Wouldn't I be charged for 6 instance under the new pricing model when I'm only really using 3? On Jul 27, 7:12 pm, Jon McAlister jon...@google.com wrote: So, there's a couple of things going on here. I'll see if I can help explain. The first is that with 1.5.2 we changed how resident instances work, so that if a dynamic instance existed, the scheduler would prefer an idle dynamic instance to an idle resident instance. Further, if a resident instance was busy, we would use this as a cue to warmup a new dynamic instance. The point of these changes is to turn the resident instances into the reserve for the app. They are generally idle, but if the app gets more traffic than it can handle with non-reserved instances, then it will use some of the reserved instances (and this will in turn spawn a new dynamic instance). Generally, Always On is going away with the new billing plan, and being replaced by Min Idle Instances, which is how the reserved instances have been changed to behave with 1.5.2. We're continuing to evaluate all aspects here, both how well these reserve instances are working, what we should be doing, what we should change about the scheduler and the billing plan, and so on. In terms of this specific example, the slow request was caused by general bigtable slowness during that time interval. This can be seen somewhat here:http://code.google.com/status/appengine/detail/datastore/2011/07/27#a... This can also be investigated somewhat using our logs viewer. For example, we can see all loading requests for an app with:https://appengine.google.com/logs?app_id=wordpongseverity_level_over Note how the only loading requests this app has received have been /_ah/warmup Also we can see all requests sent to a specific instance. Here's the one with the log line you listed above:https://appengine.google.com/logs?app_id=wordpongseverity_level_over Note how the first request the instance served was /_ah/warmup, followed by a pause of 4 seconds, followed by the /game/Game.wp request which ran for 9 seconds. There are a couple of things that can be done now to get different behaviors. One is to set Max Idle Instances to three, which will kill off the dynamic instances for your app, and leave the app with just the resident instances. The other is to use Backends, which will give you direct control over how many instances run for your app and their properties:http://code.google.com/appengine/docs/java/backends/overview.html Hopefully that helps. There is also a lengthy discussion going on at:http://groups.google.com/group/google-appengine/browse_thread/thread/... On Wed, Jul 27, 2011 at 2:59 PM, Mike Lawrence m...@systemsplanet.com wrote: I purchased 3 Always-On instances. My site is under construction with no traffic. When I hit my site, GAE fires up a new dynamic instance to service the request when there are 3 idle instances! My app starts in 2.0 seconds (using stripes) But GAE takes 9.4 seconds to reply (why?). Really annoying. Why pay for Always-On when you get the crappy response time of dynamic instances? App Id: WordPong EST: 2011-07-27 17:37:04.859 /game/Game.wp?_eventName=questionList 200 9481ms 2063cpu_ms 103api_cpu_ms 1kb Mozilla/5 2011-07-27 12:37:51 Completed update of a new default version version=22.2011-07-27T19:37:17Z Here's the screen shot of my instances at the time of the request: http://dl.dropbox.com/u/473572/Untitled.jpg Why are there any dynamic instances running at all when there are 3 idle always-on instances available? Looks like a serious bug where GAE is wasting resources and providing poor response times for no reason. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group athttp://groups.google.com/group/google-appengine?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
[google-appengine] Re: --enable_jar_splitting option of appcfg.sh
Limit is 150 MB for all files, and 10 Mb for each individual file. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine/-/j8XPsT67XxAJ. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
Re: [google-appengine] Re: TransactionFailedError: Is the transaction committed or not?
On Thu, Jul 28, 2011 at 12:31, Stephen Johnson onepagewo...@gmail.com wrote: This does seem to be a conundrum. I'll offer up an idea for those instances where this behavior is of concern. It's not a great solution but if you need to guarantee that a transaction definitely succeeds and your transaction is idempotent then maybe this or some variation will help. First off, incrementing version numbers won't work due to the following scenario: 1.) open a transaction find out the current version is 78 2.) perform update and increment the version to 79 3.) commit transaction 4.) get an exception. Now, did the transaction succeed or fail?? This is the conundrum 5.) so re-fetch the item and check the version number, it says 79, so transaction must have succeed, but what if some other transaction in the meantime was the one that updated the item and incremented the version number. So back to conundrum!!! This method doesn't really make sense if you read the version number in the transaction, do stuff, increment the version, then reput within the same transaction. However, I do use something like this in some cases, except I have read the current version prior to 'computing' my updated values. So I pass the expected version number into the transaction. If I get a mismatch then I know the update values might be wrong and the update either needs skipped, recomputed, or the user needs to OK the changes (and of course this happens based on the current version number). Okay, so instead of using a version number we use a random transaction stamp (this could be a random number plus some hashed in data that is being transacted, etc. to make it really unique). Then instead of a version number property, we add a transaction stamp list that holds, for example, the last 5 or 10 stamps, or however many you want. So it goes like this: 1.) open a transaction 2.) perform update 3.) add unique transaction stamp to list, if list has reached maximum remove the oldest one (FIFO). 4.) commit transaction 5.) if everything is fine, go on our merry way 6.) if exception is generated, then re-query the entity if the entity has our unique timestamp in its list then the transaction really did succeed, if not then the transaction really did fail. Again, the unique id needs generated outside the transaction so that if the transaction were to run again the id would be the same. Also, instead of the list property you could use a separate entity (in the same entity group) with no properties as a marker. That avoids the deserialization cost and is totally scalable. With some minor tweaks you would even be able to cleanup the old marker entities. Also, as Stephen notes in a later comment, if the next read is in a transaction it will force any outstanding writes to be applied -- so it is always consistent. Note that a db.get(some_key) implicitly uses a transaction. Robert Well, that's my idea, Stephen CortexConnect cortexconnect.appspot.com On Thu, Jul 28, 2011 at 7:51 AM, Pol i...@pol-online.net wrote: I see two big problems here: 1) There appear to be absolutely no record, say in the dashboard, of failed transactions that eventually succeeded or really failed. For some type of apps, I could live with 1 in a million transaction failure that may or may not be eventually successful, but I need to know which entity got in a degenerated state. 2) The benefit of the current approach of fake-real-transactions is completely unknown: does it make GAE massively faster or more reliable or something? For instance, if you choose non-redundant storage in Amazon S3: 1) you get notifications for lost objects 2) it's cheaper On Jul 28, 4:02 pm, Joshua Smith joshuaesm...@charter.net wrote: The problem is that google transactions can report an exception, and then go ahead and succeed anyway. So the docs recommend that you only write idempotent transactions, which is a completely silly suggestion. I've yet to see a single example of how one might write an idempotent transaction. (Unless, I suppose, you create a separate child model in the database which is parented by the object you are transacting on, and then you query the list of children every time you retry your transaction to see if its already in there, but that won't scale.) I contend that a DB that cannot tell you reliably whether a transaction succeeded for failed does not support transactions. GAE can essentially report 3 possible results from a transaction: - Definitely succeeded - Definitely failed - Beats me I contend that third possible result makes it impossible to write software that relies on transactions. Therefore, GAE doesn't support transactions. On Jul 27, 2011, at 8:58 PM, Tim Hoffman wrote: If you always get modify put within a transaction how would it be unreliable? Rgds Tim -- You received this message because you are
Re: [google-appengine] Re: GAE Starts dynamic instances for no reason... causing unnecessary cold start delays
Because the scheduler is now treating the reserved instances as Min-Idle-Instances, what you're describing is expected behavior. They are intentionally kept idle, and it tries to serve traffic using the non-reserved instances. Then, if the non-reserved instances can't keep up, then it will make use of the reserved instances. That is, to repeat, the invariant that the scheduler is trying to maintain here is that your app has at least 3 idle instances. And if an instance is getting traffic, then it isn't idle. The value of an idle instance is that it can process requests right-away if needed, without having to first warmup or do a loading request. It sounds like what you'd really prefer is something like Min-Instances, but that's not presently an available option. If you set Max-Idle-Instances, then you will never be charged for any instances which are idle in excess of the configured value. In this example, if Max-Idle-Instances=3, and the scheduler is running 6 instances, and three of them are always idle, then the resulting charge would be for 3 instances. On Thu, Jul 28, 2011 at 1:49 PM, Mike Lawrence m...@systemsplanet.com wrote: Just ran a volume test on my server. The three reserved instances are not getting any traffic. That can't be normal. Instead GAE spawned 3 dynamic instances to handle all the load. I have set Max Idle instances to 3. Why would you ever want instances to sit idle under a load test? If you have capacity (idle instances), why not use them when you're under heavy load? http://dl.dropbox.com/u/473572/Untitled2.jpg Wouldn't I be charged for 6 instance under the new pricing model when I'm only really using 3? On Jul 27, 7:12 pm, Jon McAlister jon...@google.com wrote: So, there's a couple of things going on here. I'll see if I can help explain. The first is that with 1.5.2 we changed how resident instances work, so that if a dynamic instance existed, the scheduler would prefer an idle dynamic instance to an idle resident instance. Further, if a resident instance was busy, we would use this as a cue to warmup a new dynamic instance. The point of these changes is to turn the resident instances into the reserve for the app. They are generally idle, but if the app gets more traffic than it can handle with non-reserved instances, then it will use some of the reserved instances (and this will in turn spawn a new dynamic instance). Generally, Always On is going away with the new billing plan, and being replaced by Min Idle Instances, which is how the reserved instances have been changed to behave with 1.5.2. We're continuing to evaluate all aspects here, both how well these reserve instances are working, what we should be doing, what we should change about the scheduler and the billing plan, and so on. In terms of this specific example, the slow request was caused by general bigtable slowness during that time interval. This can be seen somewhat here:http://code.google.com/status/appengine/detail/datastore/2011/07/27#a... This can also be investigated somewhat using our logs viewer. For example, we can see all loading requests for an app with:https://appengine.google.com/logs?app_id=wordpongseverity_level_over Note how the only loading requests this app has received have been /_ah/warmup Also we can see all requests sent to a specific instance. Here's the one with the log line you listed above:https://appengine.google.com/logs?app_id=wordpongseverity_level_over Note how the first request the instance served was /_ah/warmup, followed by a pause of 4 seconds, followed by the /game/Game.wp request which ran for 9 seconds. There are a couple of things that can be done now to get different behaviors. One is to set Max Idle Instances to three, which will kill off the dynamic instances for your app, and leave the app with just the resident instances. The other is to use Backends, which will give you direct control over how many instances run for your app and their properties:http://code.google.com/appengine/docs/java/backends/overview.html Hopefully that helps. There is also a lengthy discussion going on at:http://groups.google.com/group/google-appengine/browse_thread/thread/... On Wed, Jul 27, 2011 at 2:59 PM, Mike Lawrence m...@systemsplanet.com wrote: I purchased 3 Always-On instances. My site is under construction with no traffic. When I hit my site, GAE fires up a new dynamic instance to service the request when there are 3 idle instances! My app starts in 2.0 seconds (using stripes) But GAE takes 9.4 seconds to reply (why?). Really annoying. Why pay for Always-On when you get the crappy response time of dynamic instances? App Id: WordPong EST: 2011-07-27 17:37:04.859 /game/Game.wp?_eventName=questionList 200 9481ms 2063cpu_ms 103api_cpu_ms 1kb Mozilla/5 2011-07-27 12:37:51 Completed update of a new default version version=22.2011-07-27T19:37:17Z Here's the screen shot
[google-appengine] 回复:Re: authentication for non web based python apps
Hi Ernesto and Stephen, Thank you both so much. Your comments clear up my confusion about the https and authentication. Initially, I mixed up these two concepts. They are two seperate things, I thought in order to use https you need to implement some kind of authentication like Google account login. Yes, I agree with your suggestion. This can be done by using python httpsconneciton, and then I can use some kind of authentication mechanism on top of it like you suggested. Thanks a lot again. Regards, Ruoshui -- You received this message because you are subscribed to the Google Groups Google App Engine group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine/-/xavEFz8YbUgJ. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
Re: [google-appengine] TransactionFailedError: Is the transaction committed or not?
Hi Joshua, As robert said, making a process idempotent depends mostly on the app logic and data model. IMO for the example case you need more of a context of how the counter is been use to make the use of the counter in a transaction idempotent. (remember: the example just illustrates how to make use of a transaction, it does not handles any retry if the transaction failed or not) As you said: making a separate child model, which is parent by the object you are transacting on, and inside the transaction query to see if its already in there, Its a good solution to make your transaction idempotent, and I don't see a problem why this approach wont scale. If you do an ancestor query on that kind it would be very fast. With this approach, the code inside the transaction should do something like: 1) read child entity 2) if entity not processed, do the transaction logic. else: no nothing. FYI GAE support transactions, because either the whole transaction succeeds or fails. Whether you know about the outcome or not is different. Although making process idempotent is somewhat a complicated logic, here the better solution would be to figure out why the exception is occurring. Mostly because this type of exception are not common. You don't need to only write idempotent transactions, you should make them idempotent, unless it does not matter if they succeed or not, as I said before this type of exception are not common so there are many cases where 100% data retention is not as important. On Thursday, July 28, 2011 7:02:53 AM UTC-7, Joshua Smith wrote: The problem is that google transactions can report an exception, and then go ahead and succeed anyway. So the docs recommend that you only write idempotent transactions, which is a completely silly suggestion. I've yet to see a single example of how one might write an idempotent transaction. (Unless, I suppose, you create a separate child model in the database which is parented by the object you are transacting on, and then you query the list of children every time you retry your transaction to see if its already in there, but that won't scale.) I contend that a DB that cannot tell you reliably whether a transaction succeeded for failed does not support transactions. GAE can essentially report 3 possible results from a transaction: - Definitely succeeded - Definitely failed - Beats me I contend that third possible result makes it impossible to write software that relies on transactions. Therefore, GAE doesn't support transactions. On Jul 27, 2011, at 8:58 PM, Tim Hoffman wrote: If you always get modify put within a transaction how would it be unreliable? Rgds Tim -- You received this message because you are subscribed to the Google Groups Google App Engine group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine/-/mP_8kv_-LlMJ. To post to this group, send email to google-a...@googlegroups.com. To unsubscribe from this group, send email to google-appengi...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine/-/FgjOX6rQpu4J. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, 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: TransactionFailedError: Is the transaction committed or not?
Hi Pol, Answering your first concern in numbers: 1) I think there is a misunderstanding on getting an exception for a failure. Because a transaction will succeed or fail. FYI we are aware this is unclear in the docs and we are working on it. But as I said before if you could live with 1 in a million transaction to not know fore sure the outcome (succeeded or failed) you wont need to make your process idempotent. 2) There is no fake-real-transaction, for example, one of the other uncommon exception that someone could get in the commit() would be Timeout exception. With any distributed system, unless you are willing to wait for an answer forever, there is always the possibility that you will get a timeout before the remote system responds with the result of the operation you requested (this is true in all databases), what GAE warranty is that the transaction either commits successfully or it does not, so if you implement some retry logic in transactions, having it idempotent will warranty you don't do the transaction twice. For the counter example, to make something idempotent you need a way to distinguish each time the counter gets incremented, it would depend on the logic of the application. its really hard to make it idempotent by itself. lets say part of a transaction would be incrementing a counter, if the process of incrementing is unique to users and a user can only incremented once, you could maintain another kind that gets set inside the transaction that stores the user that incremented the counter. then your logic inside the transaction will first check if the user already incremented the counter by making a get to the kind that keeps track of that (we can assure that if a user appears here the transaction was committed because a transaction either fails or not) if he did not, you go ahead and process the logic again, else do nothing (it already did it). This will make sure the transaction is not redone if you retry it after getting an exception where the outcome was unknown. But as I said before, this exceptions are uncommon and it would be good to know what are you doing inside the transaction that is causing those transactions. Timeout exception could be related to master slaves issues (in a M/S app) this could go away by migrating to High replication datastore. Hope this helps clarifies some points. Best, Jose -- You received this message because you are subscribed to the Google Groups Google App Engine group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine/-/klKa70GFvwAJ. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
Re: [google-appengine] 回复:Re: authentication for non web based python apps
Your welcome Ruoshui and thank you for the code sample Ernesto, I use Java on the server side so wouldn't have been much help with the Python. On Thu, Jul 28, 2011 at 2:03 PM, liu ruos...@aquamw.com wrote: Hi Ernesto and Stephen, Thank you both so much. Your comments clear up my confusion about the https and authentication. Initially, I mixed up these two concepts. They are two seperate things, I thought in order to use https you need to implement some kind of authentication like Google account login. Yes, I agree with your suggestion. This can be done by using python httpsconneciton, and then I can use some kind of authentication mechanism on top of it like you suggested. Thanks a lot again. Regards, Ruoshui -- You received this message because you are subscribed to the Google Groups Google App Engine group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine/-/xavEFz8YbUgJ. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
[google-appengine] Re: /_ah/warmup exception in the recent days,
Am having a similar problem with appstats, since upgrading to App Engine 1.5.2: java.lang.NoSuchMethodError: com.google.appengine.repackaged.com.google.protobuf.GeneratedMessage $FieldAccessorTable.init(Lcom/google/appengine/repackaged/com/google/ protobuf/Descriptors$Descriptor;[Ljava/lang/String;)V at com.google.appengine.tools.appstats.StatsProtos $1.assignDescriptors(StatsProtos.java:5396) -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, 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] Team member Google+ profiles
Hey everybody! Unless you’ve been under a rock, you’ve probably heard about the Google+ project. Several of the team members are already on it, and I wanted to post a thread with our profile information so you can add us to your circles if you like. A few of us occasionally hold video hangouts which we’ll be announcing on our Google+ streams. Guido van Rossum: https://plus.google.com/115212051037621986145/posts Ikai Lan (this is me): https://plus.google.com/115212051037621986145/posts Nick Johnson: https://plus.google.com/107671409514652376955/posts Johan Euphrosine: https://plus.google.com/111042085517496880918/posts Takashi Matsuo (lots of Japanese language hangouts!): https://plus.google.com/110554344789668969711/posts Fred Sauer: https://plus.google.com/115640166224745944209/posts Chris Schalk: https://plus.google.com/104599745903075924418/posts Patrick Chanezon: https://plus.google.com/106130679598095630483/posts Alon Levi (engineering manager): https://plus.google.com/104703109675446407948/posts Most of us talk a lot about Google or developer topics. Guido, for instance, enjoys running the occasional hangout because he likes to see people face to face. I post slides from time to time from talks I give. Google+ isn't a replacement for these groups, so you'll still want to post your questions here, but it might be interesting to get to know many of you on a more personal level. Hope to see you all online! - Ikai -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
Re: [google-appengine] Re: /_ah/warmup exception in the recent days,
I am looking for a google app engine designer who knows how to work with FB API. Is anyone here interested? --- Brett Prescott (516)476-6221 brettpresc...@gmail.com -Original Message- From: Emanuele Ziglioli theb...@emanueleziglioli.it Sender: google-appengine@googlegroups.com Date: Thu, 28 Jul 2011 15:29:54 To: Google App Enginegoogle-appengine@googlegroups.com Reply-To: google-appengine@googlegroups.com Subject: [google-appengine] Re: /_ah/warmup exception in the recent days, Am having a similar problem with appstats, since upgrading to App Engine 1.5.2: java.lang.NoSuchMethodError: com.google.appengine.repackaged.com.google.protobuf.GeneratedMessage $FieldAccessorTable.init(Lcom/google/appengine/repackaged/com/google/ protobuf/Descriptors$Descriptor;[Ljava/lang/String;)V at com.google.appengine.tools.appstats.StatsProtos $1.assignDescriptors(StatsProtos.java:5396) -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
[google-appengine] Problems Deploying App - 500 Internal server Error
I'm receiving this error message when trying to deploy my app. I'm kinda new around here, so it may be some mistake I've made, but I didn't do anything that rings a bell to me. Thanks, Unable to update app: Error posting to URL: https://appengine.google.com/api/appversion/clonefiles?app_id=inscricaoabrawiccaversion=1; 500 Internal Server Error htmlhead meta http-equiv=content-type content=text/html;charset=utf-8 title500 Server Error/title /head body text=#00 bgcolor=#ff h1Error: Server Error/h1 h2The server encountered an error and could not complete your request.pIf the problem persists, please A HREF=http://code.google.com/appengine/community.html;report/A your problem and mention this error message and the query that caused it./h2 h2/h2 /body/html See the deployment console for more details Unable to update app: Error posting to URL: https://appengine.google.com/api/appversion/clonefiles?app_id=inscricaoabrawiccaversion=1; 500 Internal Server Error htmlhead meta http-equiv=content-type content=text/html;charset=utf-8 title500 Server Error/title /head body text=#00 bgcolor=#ff h1Error: Server Error/h1 h2The server encountered an error and could not complete your request.pIf the problem persists, please A HREF=http://code.google.com/appengine/community.html;report/A your problem and mention this error message and the query that caused it./h2 h2/h2 /body/html -- You received this message because you are subscribed to the Google Groups Google App Engine group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine/-/hiWxAqlrDpoJ. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, 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: Deploy application size limit
Hello Jose, I am self funding a startup business and am looking to have it built on Google App Engine. I am looking for a back end developer who can develop the entire back end to the a site that pulls data from the Facebook API upon users accepting permissions. I have a front end graphics person who will provide all the branding, logos and creative needed. My budget for this project is $7,500. Is this something that you are interested in discussing further? If so, can you share with me sites that you have fully developed and any other information? I am moving quickly and trying to find the best person in the next couple days. Thank you, Brett brettpresc...@gmail.com -- You received this message because you are subscribed to the Google Groups Google App Engine group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine/-/85D1P4UMnqIJ. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, 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] Basic Authentication with Timeout
Hi, I am writing an application in Java, which will maybe serve different apps (desktop, mobile, web etc...). It will take requests, process parameters and responds with a text. Very simple actually. But the problem is I want to know which apps made which requests (also their ip adresses) and I don't want that any client app uses my GAE application without logging in. The logging in is also very simple. They just have to send a client app specific string so that my application knows who is reaching my services. On the server side I (my code) will take this client app specific string, client's ip and request time and store it. If client doesn't do anything for 5 minutes, it loses it's authentication and must log in again. I don't know if there is a simple API for this purpose. I thought that I can use datastore for that and do the job programmatically but this seems to have high costs. What do you think? -- You received this message because you are subscribed to the Google Groups Google App Engine group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine/-/8Fy2aSKW-loJ. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, 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: Is anyone seeing deployment 500 server error now?
Failing for me right now for a brand-new application. Using maven GAE plugin to deploy version 0.8.4 with GAE 1.5.0 -- You received this message because you are subscribed to the Google Groups Google App Engine group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine/-/TyvBGhRT_igJ. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, 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: GAE structure of python project
Hello, You all seem to be pretty savvy when it comes to google app engine and finding solutions. I am self funding a startup business and am looking to have it built on Google App Engine. I am looking for a back end developer who can develop the entire back end to the a site that pulls data from the Facebook API upon users accepting permissions. I have a front end graphics person who will provide all the branding, logos and creative needed. My budget for this project is $8,000. If anyone here is interested, please contact me directly at brettpresc...@gmail.com Thank you, Brett -- You received this message because you are subscribed to the Google Groups Google App Engine group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine/-/h_QqikkEbX0J. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
Re: [google-appengine] Scalebility and n-tier architecture on GAE
Hi Robert, I am self funding a startup business and am looking to have it built on Google App Engine. I am looking for a back end developer who can develop the entire back end to the a site that pulls data from the Facebook API upon users accepting permissions. I have a front end graphics person who will provide all the branding, logos and creative needed. My budget for this project is $7,500. Is this something that you are interested in discussing further? If so, can you share with me sites that you have fully developed and any other information? I am moving quickliy and trying to find the best person in the next couple days. Thank you, Brett brettpresc...@gmail.com -- You received this message because you are subscribed to the Google Groups Google App Engine group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine/-/W466fhNVDrAJ. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, 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] Financial App on GAE + Python
Hello everybody, Finally I am able to put up my first App on GAE. Its a Financial Portfolio Monitoring and Modelling System. I would be glad to receive your feedback regarding Performance and usability. Its basic for now, you don't even have to Log-in, I am working on some exciting features to be added soon and thought of getting some feedback at this stage before I proceed any further I have added symbols for the middle east market later I plan to add symbols for all major markets of the world. In case you want to add transactions you can use the following symbol codes: 1010, 1020, 1030, 2010, 2020. and so on. The URL is http://biz6001.appspot.com Thanks and Regards, SMF. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, 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] Unable to store and retrieve data from Appengine Servlet Context
Hi Is there a way that i can use Servlet Context on Appengine. Here is our scenario We have GWT application Client call a server method to get the xml data (which is around 5 mb) Server method will prepare a map with a unique key and value as in progress Server will send request to another server (SERVER2) with key as parameter SERVER2 sends SUCCESS message after spanning a thread to fetch xml from data store. Client will use polling mechanism to see the status for this request in Servelet context stored map SEVER2 later post back the data to a servlet which will update the value of a map in ServletContext Client will pickup this and use in rendering It seems that i am unable to store data in to Servlet Context in Appengine. In my case mem cache is not the right choice as my data is huge. Please suggest how to over come this situation Thanks Sateesh -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
Re: Re: [google-appengine] Re: App Engine Chat Time!
Hi Everyone, I am self funding a startup business that I am looking to have built on Google App Engine and am looking for a back end developer who can develop the entire back end to the a site that pulls data from the Facebook API upon users accepting permissions. My budget for this project is $8,000. If anyone here is interested, please contact me directly at brettpresc...@gmail.com Thank you, Brett -- You received this message because you are subscribed to the Google Groups Google App Engine group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine/-/vrLDf94DXeEJ. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, 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: Need help understanding Appengine billing
Quick question Bart. The other day someone asked me how many Hits my site received per day. Since I use App engine, the metrics available to me on the Dashboard are Requests/Sec. I'm no math whiz, so this might seem like a dumb question... but how can I extrapolate from that, how many Requests I'm getting per day? Some how, multiplying my Requests/Sec by 60 * 60 * 24 just doesn't seem right !? On Jul 21, 9:42 am, Bart Thate bth...@gmail.com wrote: Hoi Kwame, sample billing in which you can see what your app is going to cost in the new billing system is going to be here soon, see the IRC chat log for more information about that. Greetings, Bart programming schizofrenic - http://tinyurl.com/bart-thate On Thu, Jul 21, 2011 at 2:01 PM, Kwame iweg...@gmail.com wrote: Thanks Johan, I see your billing scheme, and I can sort of understand what the different terms mean, but it is difficult to wrap my brain around what the costs actually end up being in a real website. It would be helpful to get some examples of what other people have actually paid, and what kind of usage they have. I just need to make some rough estimates, so any examples will do. On Jul 21, 7:50 am, Johan Euphrosine pro...@google.com wrote: Hi Kwame, The current billing documentation is here: http://code.google.com/appengine/docs/billing.html However later this year we will introduce a new billing scheme which is described here: http://www.google.com/enterprise/cloud/appengine/pricing.html Community members that are willing to share metrics about their QPS, current quota usage and billing are more than welcome to comment to this threads. Hope that helps. On Thu, Jul 21, 2011 at 6:55 AM, Kwame iweg...@gmail.com wrote: I've been using Appengine for a while, and I haven't yet exhausted my free quota. I'm running a business and I would need to set a budget for my server costs. I'm not able to understand how the billing units like CPU Time, Outgoing Bandwidth, Incoming Bandwidth Total Stored data apply in real world usage of a typical busy website. Can anyone give me some sample charges for a typical website and approximately how much of these resources can be expected to be consumed, so I can compare with my site to get an approximate estimate. 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 athttp:// groups.google.com/group/google-appengine?hl=en. -- Johan Euphrosine (proppy) Developer Programs Engineer Google Developer Relations -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
[google-appengine] Financial App on GAE
Hello everybody, Finally I am able to put up my first App on GAE. Its a Financial Portfolio Monitoring and Modelling System. I would be glad to receive your feedback regarding Performance and usability. Its basic for now, you don't even have to Log-in, I am working on some exciting features to be added soon and thought of getting some feedback at this stage before I proceed any further I have added symbols for the middle east market later I plan to add symbols for all major markets of the world. In case you want to add transactions you can use the following symbol codes: 1010, 1020, 1030, 2010, 2020. and so on. The URL is http://biz6001.appspot.com Thanks and Regards, SMF. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, 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: /_ah/warmup exception in the recent days,
I've removed some jars, such as: appengine-api-...sdk appengine-api-stubs and pointed to the new appengine-testing.jar and the problem is now gone, yai! Emanuele On Jul 29, 10:29 am, Emanuele Ziglioli theb...@emanueleziglioli.it wrote: Am having a similar problem with appstats, since upgrading to App Engine 1.5.2: java.lang.NoSuchMethodError: com.google.appengine.repackaged.com.google.protobuf.GeneratedMessage $FieldAccessorTable.init(Lcom/google/appengine/repackaged/com/google/ protobuf/Descriptors$Descriptor;[Ljava/lang/String;)V at com.google.appengine.tools.appstats.StatsProtos $1.assignDescriptors(StatsProtos.java:5396) -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, 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 know anyone at Google Page Speed?
http://googlecode.blogspot.com/2011/07/page-speed-service-web-performance.ht ml Sounds an Awful lot like www.cdninabox.com / cdninabox.appspot.com . So much so y phone has been ringing all day to ask if I got bought. Anyone Google or otherwise know anyone in that group? Brandon Wirtz LockerGnome.com: Corporate VP Business Strategy BlackWaterOps: President / Lead Mercenary Description: http://www.linkedin.com/img/signature/bg_slate_385x42.jpg Work: 510-992-6548 Toll Free: 866-400-4536 IM: drak...@gmail.com (Google Talk) Skype: drakegreene http://www.lockergnome.com Lockergnome.com http://www.blackwaterops.com BlackWater Ops -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en. image001.jpg
[google-appengine] Re: Anyone know anyone at Google Page Speed?
I don't know anyone, but reading about it does raise some questions. For page speed to work you need to point your DNS record at ghs.google.com. Now for appengine and custom domains you also need to point your DNS record for your site at ghs.google.com. It will be interesting to see if you can do both at the same time ;-) I ran a Page Speed Test against one of my sites hosted on appengine and the difference was down in the 1% territory, and actually slightly slower on the repeated viewing test. Rgds T -- You received this message because you are subscribed to the Google Groups Google App Engine group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine/-/QGKrmp0MKLgJ. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
RE: [google-appengine] Re: Anyone know anyone at Google Page Speed?
It is losing against every site we host on CDN in a box, with an exception of a page that had a bunch of Google Plus links on it, somehow that was faster with them. (I think they cheated) But www.xyhd.tv was half a second slower using the page speed test at the time we tested. That seems to work, I mean XYHD.tv is hosted on AppEngine, and it works with the test tool. So I think you can be on AppSpot and run PageSpeed. (but you'd be better to run CDN In a Box :-) ) From: google-appengine@googlegroups.com [mailto:google-appengine@googlegroups.com] On Behalf Of Tim Hoffman Sent: Thursday, July 28, 2011 6:11 PM To: google-appengine@googlegroups.com Subject: [google-appengine] Re: Anyone know anyone at Google Page Speed? I don't know anyone, but reading about it does raise some questions. For page speed to work you need to point your DNS record at ghs.google.com. Now for appengine and custom domains you also need to point your DNS record for your site at ghs.google.com. It will be interesting to see if you can do both at the same time ;-) I ran a Page Speed Test against one of my sites hosted on appengine and the difference was down in the 1% territory, and actually slightly slower on the repeated viewing test. Rgds T -- You received this message because you are subscribed to the Google Groups Google App Engine group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine/-/QGKrmp0MKLgJ. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
Re: RE: [google-appengine] Re: Anyone know anyone at Google Page Speed?
I think running the pagespeed test is quite different from running a custom domain. T -- You received this message because you are subscribed to the Google Groups Google App Engine group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine/-/VO22sSz2PW0J. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, 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] Backends fell over?
Last night 7/28 at 1:45 AM PST and now at 7/28 8:20 PM PST, my backend instance fell over and regardless of pushing the Stop and Start button, I cannot get it to restart. I even try deleting and deploying a new instance to no avail. Is there any sort of status on Backends going down? Is there anything I can do? -- You received this message because you are subscribed to the Google Groups Google App Engine group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine/-/5u0P7nFojtoJ. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, 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] Min Pending Latency to 1 second causes huge delays.
In my app if I set the min pending latency to be 1 second. After a few minutes, the web application starts to take 10-13 seconds to respond. Why is this happening? Also I am noticing a lot instances being kicked off for a few seconds and then shut back down. Why is this happening? I thought the new scheme would keep an instance alive for at least 15 minutes after it was kicked off. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.