Hi Francis, I think I understand exactly what you mean and it's an interesting edge case when designing the datastore transaction system.
Somehow within a transaction it needs to record that the 'put' method either expects the entity it is saving to already exist or not exists. What's more this logic needs to kick in only if earlier in the transaction a 'get' bothered to detect if the entity existed in the first place! I hope the designers of the datastore considered this and am sure they have as I have not seen anything to suggest transactional integrity has ever been broken in my apps. I guess you are looking for confirmation though as the way the datastore's internals are described in various don't suggest the edge case is catered for. Maybe you could write a test and run it a reasonable number of times to see if atomicity guarantees break. I would be interested in seeing the results. Dan -- You received this message because you are subscribed to the Google Groups "Google App Engine" group. To unsubscribe from this group and stop receiving emails from it, send an email to google-appengine+unsubscr...@googlegroups.com. To post to this group, send email to google-appengine@googlegroups.com. Visit this group at http://groups.google.com/group/google-appengine. To view this discussion on the web visit https://groups.google.com/d/msgid/google-appengine/3a95db7e-e123-4625-a7f2-916d9f627f23%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.