I want make sure that one thing about the transaction lock of GAE. In the documentation it said:
All datastore operations in a transaction must operate on entities in the same entity group if the transaction is a single group transaction, ....
So while a txn is running, it will lock only every entries of that single entity group, won't lock every entry of models which are used in the transaction. Is it right?