After creating the ROTModel (retry on timeout Model) for gaeutiltiies, I learned the functionality I implemented was actually put into the base datastore API. If a write failed, it retries the write a few times before raising the Timeout exception if it continues to fail. In the trunk for gaeutiltiies, nothing uses ROTModel now.
With the knowledge that the Datastore API automatically did the retries, and timeouts persisted, I managed to get session writes to get more reliability for writes by writing to both memcache and the datastore and tracking the state of both. If the datastore write fails, it will be pushed from memcache the next time the variable is read. This works great. However, I have seen instances where Timeout on read causes issued. Call session()[key] Memcache miss Timeout on Datastore read No way around that. The datastore is the only persistent layer available to appengine applications (within the appengine framework). I've seen this exact instance more than once, as the sole use of my app. It doesn't happen often, but a few times in a month for a single user doesn't bode well for instances where an app may have many more users. I'm curious if read is doing the retries, or if I should try to add that in the session? The only other option left is declare the datastore not reliable enough for session level programming and looking for alternatives. The root of the problem is that the datastore has timeouts more often than what would be acceptable for any database solution that would be hosted in house. It's been repeatedly stated by Google that this will not be fixed. IMHO, it might be time to revisit that statement and determine if more reliability can be introduced to the only persistent data layer appengine offers. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~----------~----~----~----~------~----~------~--~---