2006-09-21
[プラポケ]連打するとコマンドを複数回実行できてしまうバグ
気になって試してみたのだけど実証できない。どうやら config/lighttpd.conf で、
"min-procs" => 1, "max-procs" => 1,
としていたのが幸いしていたみたい。 2 に変えてコントローラに sleep をはさんだらバグを確認できた。タイミングがシビアだから sleep を使わないとほとんど発生しないとは思うが。
players に lock_version カラムを追加して修正。 他は大丈夫だよなあ。ショップのアイテム購入でも同様のバグがあったはずだけど、 player.jewel 値の減算後の save で lock_version に引っかかるから大丈夫なはず……。
この手のものってトランザクションで囲むだけではダメなのね。これだからWebの素人は><