セッション衝突の例外がかなり多く発生しています。通常は少なくとも 1 日に 1 回ですが、展開して 2 ~ 3 回続けて取得し、その後何も取得しないこともあります。
アプリは Rails 3.2.2 と unicorn で実行され、セッションは memcached に保存されます。
例外はさまざまなコントローラーのさまざまな場所で発生し、それらに共通するものを実際に見つけることができません。何が原因でしょうか?
セッション衝突の例外がかなり多く発生しています。通常は少なくとも 1 日に 1 回ですが、展開して 2 ~ 3 回続けて取得し、その後何も取得しないこともあります。
アプリは Rails 3.2.2 と unicorn で実行され、セッションは memcached に保存されます。
例外はさまざまなコントローラーのさまざまな場所で発生し、それらに共通するものを実際に見つけることができません。何が原因でしょうか?
memcached を使用して ruby/rails がセッション データをどのように処理するかはわかりませんが、通常は次のような作業です。
new session -> using command ADD
update session -> using GET with token and than the command CAS (check and set)
ハッシュの競合がある場合、セッションが既に存在するため、コマンド ADD は失敗します。別の考えられる問題は、別のプロセスが GET と CAS の間で同じセッションを更新した場合です。