[appengine-java] Re: Rules for creating multiple child entities at the same time

2010-01-28 Thread Enrique Perez
My understanding is that all writes within the same entity group are serialized. Hence a best practice is keep Entity Groups as small as possible. If there is contention between two simulatanous writes to the same Entity Group, one fails, and having retry logic here will help get that second write

[appengine-java] Re: Rules for creating multiple child entities at the same time

2010-01-28 Thread Ugorji
Thanks Enrique for your response. This seems to be what the app engine docs are alluding to, but they are not specific on the writes when the parent entity is not part of the transaction, and furthermore they suggest that optimistic concurrency is used and not locking, which lends credence that if

[appengine-java] Re: Rules for creating multiple child entities at the same time

2010-01-28 Thread Ugorji
I think I found half of an answer here: http://bolour.com/blog/2009/06/the-google-app-engine-data-model/ Quoting: "GAE uses optimistic concurrency control for transactions, and its concurrency control algorithm operates at the root level of an entity group. The optimistic concurrency control t

[appengine-java] Re: Rules for creating multiple child entities at the same time

2010-01-28 Thread Enrique Perez
Ugorji, I agree with you that the documentation is not 100% clear. In Google I/O 2008, Under the Hood of AppEngine Datastore, Ryan Barrett discusses transactions under the hood. Toward the backend of the video (about 40 minutes in), he talked about how transactions are implemented within the co

[appengine-java] Re: Rules for creating multiple child entities at the same time

2010-01-28 Thread Ugorji
Thanks Enrique for your responses. I've done more research and it seems that - every write is serialized (regardless of within tx or not) - contention will always exist at the Entity Group - use retries to manage On Jan 28, 5:28 pm, Enrique Perez wrote: > Ugorji, > > I agree with you that the doc