2025/02/07分のコミットです。
CHANGELOGにのったコミットは以下の通りです。
- Add
allow_retry
tosql.active_record
instrumentation. - Enable automatically retrying idempotent association queries on connection errors.
- Fix migrating multiple databases with
ActiveRecord::PendingMigration
action.
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_name
はPostgreSQLだけ存在する旨説明を追加、async
keyを追加、を行なっています。
Add allow_retry
to sql.active_record
activerecord/lib/active_record/connection_adapters/abstract/database_statements.rb
、
activerecord/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が実行されるよう修正しています。
activerecord/CHANGELOG.md
の修正です。
allow_retry
をsql.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関係のエラーと同様に扱うよう修正しています。