ActiveRecord报错‘Cannot expire connection...’含义及排查
问题描述
技术栈
- ActiveRecord / Rails 7
- Sidekiq Enterprise
- makara
- Amazon RDS Proxy(用于管理Rails应用的连接池)
我们的应用偶尔会抛出如下错误:
ActiveRecord::ActiveRecordErrorvendor/bundle/ruby/2.7.0/gems/activerecord-7.0.4/lib/active_record/connection_adapters/abstract_adapter.rb:260 Cannot expire connection, it is not currently leased.
我理解这个错误是在应用尝试将连接归还到连接池时触发,但不清楚Rails内部的具体处理逻辑。
另外,该错误只在运行Sidekiq后台任务的应用中持续出现,Web应用不会遇到这个问题。
我已经查阅过相关源码,也尝试切换回RDS Proxy的非代理连接池,但问题依然存在。
内容的提问来源于stack exchange,提问作者cedric
相关产品推荐
相关产品推荐

