なるようになるブログ

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

rails commit log流し読み(2025/02/07)

2025/02/07分のコミットです。

CHANGELOGにのったコミットは以下の通りです。

activerecord/CHANGELOG.md


Fix ActionCable allowed_request_origin configuration guide typo

rails guideのConfiguring Rails Applicationsの修正です。

config.action_cable.allowed_request_origins configについて説明している箇所内のタイポを修正しています。


Merge pull request #54318 from german/add_db_system_change_command_to_doc

rails guideのThe Rails Command Lineの修正です。

db:system:changeコマンドについての説明を追加しています。


Small tweaks to sql.active_record guide

rails guideのActive Support Instrumentationの修正です。

sql.active_record hookについての説明について、payloadのkeyの順番を修正、statement_namePostgreSQLだけ存在する旨説明を追加、async keyを追加、を行なっています。


Add allow_retry to sql.active_record

activerecord/lib/active_record/connection_adapters/abstract/database_statements.rbactiverecord/lib/active_record/connection_adapters/abstract_adapter.rbの修正です。

sql.active_record hookのpayloadに、自動retryの対象かどうかを判別するためのallow_retryを追加しています。


Enable statement-cached queries to be retryable

Active Recordの修正です。

冪等なassociationを取得するSQLがconnection error等でfailした場合、自動でリトライするよう修正しています。


Fix migrating multiple DBs with pending migration action

Active Recordの修正です。

ActiveRecord::PendingMigration actionがprimary DBにしかmigrationを実行しないようになっていたのを、複数DBの設定がある場合、すべてのDBでmigrationが実行されるよう修正しています。


Reword changelog

activerecord/CHANGELOG.mdの修正です。

allow_retrysql.activerecord hookに追加した対応のエントリーの言い回しを修正しています。


Enable query-cacheable queries to be retryable

activerecord/lib/active_record/connection_adapters/abstract/query_cache.rbの修正です。

cache可能な冪等なSQLがconnection error等でfailした場合、自動でリトライするよう修正しています。


Fix SqlLiterals overriding query's retryable value

activerecord/lib/arel/visitors/to_sql.rbの修正です。

リトライ可能でないSQLがリトライ可能である、と判断されてしまう事があるバグがあったのを修正しています。


Merge pull request #54460 from ryush00/cache-pool-timeout-and-tests

activesupport/lib/active_support/cache/mem_cache_store.rbの修正です。

Handle connection pool errors in Redis and Memcached storesでconnection pool関係のエラーが発生した場合処理を継続するよう対応したのですが、ConnectionPool::TimeoutErrorについては対応が出来ていなかった為、ConnectionPool::TimeoutErrorについても他のconnection pool関係のエラーと同様に扱うよう修正しています。