ConnectionPool を使用して、データベース接続をチェックアウト/インしています。
したがって、例外がなければ、すべてが期待どおりに機能します。接続は最後にチェックインされます。
しかし、with_connection でラップされたコード ブロックに例外がある場合はどうなるでしょうか。
AR 接続は引き続きプールに自動的にチェックインされますか?
ActiveRecord::Base.connection_pool.with_connection do
m = SomeModel.find(something)
m.foo = "bar"
m.save!
etc
#EXCEPTION RAISED HERE
# WHAT HAPPENS?
end