なるようになるブログ

読書感想文かrailsについてかrubyについてか

rails commit log流し読み(2017/11/17)

(なんでか記事の公開をミスっていたので、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.rbactiverecord/lib/active_record/relation.rbの修正です。

Persistence_create_record及び_update_recordメソッドでunscopedの生成及びbuild_arelメソッドをしないようリファクタリングを行っています。


Fix links [ci skip]

rails guideのRuby on Rails Security Guideの修正です。

MessageEncryptor API及びMessageVerifier APIへのリンクが壊れていたのを修正しています。


Move back to resque-scheduler mainline now that https://github.com/resque/resque-scheduler/pull/620 is merged

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.rbactivesupport/lib/active_support/concurrency/load_interlock_aware_monitor.rbの修正です。

interlock とDB lockのload処理間でdeadlockが発生してしまうバグがあったのを修正しています。