appengine ja night #5 #ajn5
http://atnd.org/events/2950
見に行けなかったのでまとめてみた。結構適当にまとめたので、重要なワードで抜けがあったら追加しておいてください。
あおうさ
@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
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