(なんでか記事の公開をミスっていたので、2017/12/2時点で公開しています)
2017/11/17分のコミットです。
CHANGELOGへの追加はありませんでした。
Avoid creating extra relation
and build_arel
in _create_record
and _update_record
(#29999)
activerecord/lib/active_record/persistence.rb
、
activerecord/lib/active_record/relation.rb
の修正です。
Persistence
の_create_record
及び_update_record
メソッドでunscoped
の生成及びbuild_arel
メソッドをしないようリファクタリングを行っています。
rails guideのRuby on Rails Security Guide
の修正です。
MessageEncryptor API及びMessageVerifier APIへのリンクが壊れていたのを修正しています。
Gemfile
の修正です。
resque-scheduler
を使用するのにforkしたリポジトリを使用していたのを、メインラインのリポジトリを使用するよう修正しています。redis-rb 4.0対応がマージされた為。
Merge pull request #30100 from kirs/doc-reloader
activesupport/lib/active_support/reloader.rb
のdocの修正です。
ActiveSupport::Reloader
クラスのpublic hookにドキュメントを追加しています。
Merge pull request #28869 from eugeneius/query_cache_all_pools
activerecord/lib/active_record/query_cache.rb
の修正です。
query cacheが有効にした際に、すべてのconnection poolでcacheが有効になっていなかったのを修正しています。
Merge pull request #28742 from quixoten/stack_conn_pool
activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb
の修正です。
connection poolの管理がFIFOになっていたのを、LIFOに修正しています。
FIFOだと、pgbouncerやhaproxyのようなコンポーネントが上流にいた場合に問題になる事が多い(実際に使用されるまでに、既に上流のコンポーネントにコネクションがcloseされてしまっている可能性が高い)為、LIFOにして新しいconnectionから使うようにした、との事です。
Merge pull request #31035 from BrentWheeldon/bmw-db-load-deadlock
activerecord/lib/active_record/connection_adapters/abstract_adapter.rb
、
activesupport/lib/active_support/concurrency/load_interlock_aware_monitor.rb
の修正です。
interlock とDB lockのload処理間でdeadlockが発生してしまうバグがあったのを修正しています。