2012-01-04 9 views
0

transaction GAEのロックについての1つのことを確認します。ドキュメントでは、言った:だからしばらく appengineトランザクションロック

トランザクションは、単一のグループ の取引であれば、同じエンティティグループ内のエンティティを操作しなければならないトランザクションのすべてのデータストア処理

、....

txnが実行中であれば、その単一のエンティティグループのすべてのエントリだけをロックし、トランザクションで使用されるモデルのすべてのエントリをロックしません。そうですか?

答えて

3

GAEは取引で何もロックされておらず、最後の更新時間をチェックし、トランザクションを開始した後は例外をスローしてデータをロールバックします。 'What Can Be Done In a Transaction'に記載されています

+2

しかし、元の質問に答えるのは間違いですが、競合は同じエンティティグループのエンティティにのみ適用され、特定のモデルのすべてのエンティティには適用されません。 –

+0

ああ、そうです、私はこれを逃しました –

+0

'トランザクションで実行できるものは何か'のリンクは死んでいますが、Google Datastoreのタイムスタンプベースの楽観的なロックのどこにも参照を見つけることができません。それ以上のことがあります – 1977