appengine ja night #5 #ajn5

http://atnd.org/events/2950 見に行けなかったのでまとめてみた。結構適当にまとめたので、重要なワードで抜けがあったら追加しておいてください。
3
あおうさ @bluerabbit777jp

#ajn5 ロックテーブルを作成してしまうとロック解除のタイミングが難しい。なんらかの理由でプロセスが落ちてしまった場合にロックされっぱなしになる。slim3では30秒でtimeoutにしている。

2010-02-12 20:53:36
Kazunori Sato @kazunori_279

@haru860 アクセス先のエンティティを保持するtabletサーバーがたまたま移動中や分割中だとエラーが出る、というお話でした #ajn5

2010-02-12 20:55:14
あおうさ @bluerabbit777jp

#ajn5 lock()はロックテーブルにデータをコミットしてます。targetとなるEntityの情報を永続化する前にロックしてる。

2010-02-12 20:57:21
kashisan @kashisan

slim3では、トランザクションが1件しかない場合は、ローカルトランザクションとしてコミットする。 #ajn5

2010-02-12 21:00:08
shin1ogawa @shin1ogawa

slim3gtxの説明を、slim3gtxのソースコードの読み方、みたいなカンジで進めている。これはすごい価値があると思うなぁ #ajn5

2010-02-12 21:02:34
あおうさ @bluerabbit777jp

#ajn5 1.Lockを永続化, 2.Journalを永続化(Journalには適用したいEntityの更新値を保持), 3.Journalを適用する(JournalからEntityの更新値を取得してput)

2010-02-12 21:02:39
あおうさ @bluerabbit777jp

#ajn5 トランザクション無しのputでもConcurrentModificationExceptionが発生する可能性あり。

2010-02-12 21:07:15
hironemu @hironemu

gtxで2EntityGroupのputに500msくらいかかる。ので、ほんとに必要なところに使うべし。 #ajn5

2010-02-12 21:11:37
bongole @bongole

第一部お疲れ様でした~ #ajn5

2010-02-12 21:13:22