質問 > その他 > セッション排他制御でのバグについて |
その他
フラット表示 | 前のトピック | 次のトピック |
投稿者 | スレッド |
---|---|
134 |
投稿日時: 2011/6/21 17:20
対応状況: −−−
|
一人前 登録日: 2009/10/20 居住地: 京都市 投稿: 91 |
Re: セッション排他制御でのバグについて > 排他制御が効いていない為、書き込みと読み込みの順番が守られず
> 更新前の古いセッションデータを参照してしまう事がある、その結果、処理に不整合が起きる(例はちょっと思いつきませんが古いカート情報を見てしまう等)と言った理解で宜しいでしょうか。 はい、実際に検証はしていませんが、そういうことだと思います。 > 以下のサイトでセッション管理をMongoDBへ変更しているようです が134様がおっしゃるようにsession_set_save_handlerを使用すると発生する事象なのであれば、以下対応では解消しないように思えます。 sessionのオープンもクローズも、DBのトランザクション内で行われると デッドロックの可能性があるかと思いますが、そうでなく デッドロックが起こるケースというのは、私の知識では原因が思い当たりません…。 デッドロックの原因が、読み書きの順番が保証されないことにあるのか 分かりませんが、izuminさん が仰るとおり、MongoDBを導入することで 順番が保障されるようになる、とは思えませんね…。 少なくともデッドロックを起こす可能性は無くせるか、減らせると思いますが。 > また本件の回避策はあるのでしょうか。 AMUAMU様より、PHP5.3でバグがFIXされているという情報もありますが 検証が必要ですね…。 http://xoops.ec-cube.net/modules/newbb/viewtopic.php?topic_id=5090&forum=1 その他の方法としては 案1.session_set_save_handler を使用しない →セッションデータはファイルに書き出されるようになり、 排他制御も効くと思うのですが、どのような弊害があるか分かりません…。 案2.独自にロックの仕組みを作成する →例えば、SC_Helper_Session::sfSessRead() 時に セッションIDをファイル名としたダミーのファイルを flock するなどして、独自に排他の仕組みを作る などでしょうか。 DBレベルでのロックはややこしそうなので除外しました。 私もぜひ他の皆様のご意見を伺いたいです。 |
フラット表示 | 前のトピック | 次のトピック |
題名 | 投稿者 | 日時 |
---|---|---|
セッション排他制御でのバグについて | izumin | 2011/6/21 14:57 |
Re: セッション排他制御でのバグについて | 134 | 2011/6/21 15:32 |
Re: セッション排他制御でのバグについて | izumin | 2011/6/21 16:04 |
» Re: セッション排他制御でのバグについて | 134 | 2011/6/21 17:20 |
Re: セッション排他制御でのバグについて | izumin | 2011/6/21 18:51 |
Re: セッション排他制御でのバグについて | izumin | 2011/6/24 10:11 |
Re: セッション排他制御でのバグについて | seasoft | 2011/6/24 11:13 |
Re: セッション排他制御でのバグについて | 134 | 2011/6/24 13:03 |
Re: セッション排他制御でのバグについて | izumin | 2011/6/30 20:32 |
Re: セッション排他制御でのバグについて | izumin | 2011/8/11 23:03 |
Re: セッション排他制御でのバグについて | AMUAMU | 2011/8/12 18:20 |
Re: セッション排他制御でのバグについて | izumin | 2011/8/14 2:47 |
Re: セッション排他制御でのバグについて | habu | 2023/12/26 18:31 |
Re: セッション排他制御でのバグについて | izumin | 2011/6/30 20:17 |