Are you sure that you're not working on a parent model, that's somehow
cached and therefore out-dated when you start one of those
"non-atomic" transactions?

Just a guess...

Regards,

Andi

2010/4/23, Felix E. Klee <[email protected]>:
> I may sound like an idiot for writing this, and I hope I am, but:
>
> Occasionally, I see an inconsistency in the data store which I
> attribute to a certain transaction being non-atomic. Happens only in
> the live application AFAICS. And it's hard to reproduce.
>
> In the datastore, I have a parent-child relation, modeled using two
> classes:
>
> * Parent: Exactly one parent, "main". It has a property called
> "version" that is bumped up each time the family changes.
>
> * Child: Various children of the parent.
>
> Here is what happens in *one* transaction, called using
> db.run_in_transaction:
>
> 1. A child is added.
>
> 2. The "version" of the parent is increased.
>
> Now, sometimes (unfortunately), after that transaction has executed, I
> see the following inconsistency:
>
> 1. A child has been added.
>
> 2. The "version" has not been increased.
>
> To sum it up: Are there any known issues with App Engine's transaction
> handling? Is there anything that I could've done wrong? Has anyone
> ever seen something like this before?
>
> --
> You received this message because you are subscribed to the Google Groups
> "Google App Engine" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected].
> 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 [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.

Reply via email to