Ruby on rails ActiveRecord::ConnectionNotEstablished在从Rails 5.2迁移到Rails 6.0后随机出现在部署的实例中
从RailsRuby on rails ActiveRecord::ConnectionNotEstablished在从Rails 5.2迁移到Rails 6.0后随机出现在部署的实例中,ruby-on-rails,ruby,activerecord,migration,amazon-rds,Ruby On Rails,Ruby,Activerecord,Migration,Amazon Rds,从Rails5.2升级到6.0 我在AWS中部署的实例中进行探索性测试时,随机发现了这个错误,但并不经常 当它发生时,它持续了一段时间 ActiveRecord::ConnectionNotEstablished 找不到具有“主”的连接池 但在本地中找不到具有相同配置的。 (两者都连接到同一个DB) 任何建议或解决方案都会有所帮助。 多谢各位 发生此错误时,发现的连接计数急剧下降 错误和RDS连接计数 发生错误时从服务器登录 2021-03-25 10:58:14 +0700 Using ra
5.2
升级到6.0
我在AWS中部署的实例中进行探索性测试时,随机发现了这个错误,但并不经常
当它发生时,它持续了一段时间
ActiveRecord::ConnectionNotEstablished
找不到具有“主”的连接池
但在本地中找不到具有相同配置的。
(两者都连接到同一个DB)
任何建议或解决方案都会有所帮助。
多谢各位
发生此错误时,发现的连接计数急剧下降
错误和RDS连接计数
发生错误时从服务器登录
2021-03-25 10:58:14 +0700 Using rack adapter
TRG Started 2021-03-25 10:58:19 +0700
2021-03-25 10:58:20 +0700 Thin web server (v1.8.0 codename Possessed Pickle)
2021-03-25 10:58:20 +0700 Maximum connections set to 1024
2021-03-25 10:58:20 +0700 Listening on 0.0.0.0:8080, CTRL+C to stop
...
2021-03-25 11:13:36 +0700 Unexpected error while processing request: No connection pool with 'primary' found.
/home/centos/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/activerecord-6.0.3.5/lib/active_record/connection_adapters/abstract/connection_pool.rb:1146:in `retrieve_connection'
/home/centos/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/activerecord-6.0.3.5/lib/active_record/connection_handling.rb:221:in `retrieve_connection'
/home/centos/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/activerecord-6.0.3.5/lib/active_record/connection_handling.rb:189:in `connection'
/home/centos/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/activerecord-6.0.3.5/lib/active_record/relation/calculations.rb:193:in `block in pluck'
/home/centos/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/activerecord-6.0.3.5/lib/active_record/relation.rb:839:in `skip_query_cache_if_necessary'
/home/centos/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/activerecord-6.0.3.5/lib/active_record/relation/calculations.rb:193:in `pluck'
/home/centos/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/activerecord-6.0.3.5/lib/active_record/schema_migration.rb:52:in `all_versions'
/home/centos/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/activerecord-6.0.3.5/lib/active_record/migration.rb:1084:in `get_all_versions'
/home/centos/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/activerecord-6.0.3.5/lib/active_record/migration.rb:1091:in `current_version'
/home/centos/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/activerecord-6.0.3.5/lib/active_record/migration.rb:1191:in `current_version'
/data/acm-trg/lib/rack/health_check.rb:35:in `rail_migration_version'
/data/acm-trg/lib/rack/health_check.rb:15:in `call'
/home/centos/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/rack-2.2.3/lib/rack/urlmap.rb:74:in `block in call'
/home/centos/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/rack-2.2.3/lib/rack/urlmap.rb:58:in `each'
/home/centos/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/rack-2.2.3/lib/rack/urlmap.rb:58:in `call'
/home/centos/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/thin-1.8.0/lib/thin/connection.rb:86:in `block in pre_process'
/home/centos/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/thin-1.8.0/lib/thin/connection.rb:84:in `catch'
/home/centos/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/thin-1.8.0/lib/thin/connection.rb:84:in `pre_process'
/home/centos/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/thin-1.8.0/lib/thin/connection.rb:50:in `block in process'
/home/centos/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:1077:in `block in spawn_threadpool'
已更新
- 从aurora mysql 5.6升级到5.7请勿修复此问题
ActiveRecord::Base。例如,在健康检查路由内手动建立连接。不需要调用build\u connection
,因为ActiveRecord会在Rails中自动建立自己的连接
当您自己调用此方法时,它会破坏旧的数据库连接池并重新创建另一个连接池。您能添加服务器吗logs@SikandarTariq确实更新到main post你找到解决方法了吗?@ArsalanAhmad我仍在尝试修复它。你有同样的问题吗?是的,我也有同样的问题。我似乎什么都试过了,但到目前为止什么都不管用。如果您能为任何人找到解决方案,请告诉我们。我遵循本文的实现。这是铁路公司的工作