我正在运行Rails 4应用程序,而且我在Heroku的生产日志中看到了这一点。我经常看到它并且有些用户被报告登出,我在日志中看不到任何可以表明它发生的原因。我没有看到dalli提供的任何无法保存的信息。对于大多数用户来说,它的工作正常。关于如何追捕它的任何提示?
生产日志中的错误消息
Warning! ActionDispatch::Session::CacheStore failed to save session. Content dropped.
我的生产配置
config.cache_store = :dalli_store,
(ENV["MEMCACHIER_SERVERS"] || "").split(","),
{:username => ENV["MEMCACHIER_USERNAME"],
:password => ENV["MEMCACHIER_PASSWORD"],
:failover => true,
:socket_timeout => 1.5,
:socket_failure_delay => 0.2
}
config.session_store = :mem_cache_store
答案 0 :(得分:0)
我发现了创建此错误的问题,我使用自定义标头变量来设置会话ID,而客户端发送的是nil导致机架无法存储到nil会话ID。我把电话包裹在空白处?检查以确保只有在有效值并且修复了我的问题时才设置它。
if(!request.headers["Session"].blank?)
request.session_options[:id] = request.headers["Session"]
end