From 40c34643aa942aa2bf2bd1942e2b7f20c5ed8072 Mon Sep 17 00:00:00 2001 From: Brandur Date: Wed, 4 Nov 2026 11:46:06 -0600 Subject: [PATCH] Credit JP for Ruby fixes Just a tiny one to credit @jpcamara for Ruby performance optimizations. See #1566 for his original commits, I later reimplemented these in change #1574. I should have put a reference back to him at the time, but forgot to do it. I also looked into seeing how doable it'd be to bring his original commits into the tree and then rebuilding Git history on top of it. This would be possible, maybe, but Codex recommended against it in the end, so I'm hoping this will do instead! Co-authored-by: JP Camara --- ruby/CHANGELOG.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ruby/CHANGELOG.md b/ruby/CHANGELOG.md index 2ba482186..02511619f 100644 --- a/ruby/CHANGELOG.md +++ b/ruby/CHANGELOG.md @@ -15,8 +15,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Fixed -- Reduce database overhead in the Active Record and Sequel drivers: use `RETURNING` to avoid redundant row fetches, claim batches and clean up finalized jobs in one statement, and omit unnecessary transactions. Return Active Record connections to the pool after operations and avoid allocating models for job reads. Avoid slow Postgres fetching-index scans for updates and deletes targeting a job by ID when state statistics are stale. [PR #1574](https://github.com/riverqueue/river/pull/1574). -- Prevent ordinary job wakeups from interrupting maintenance error backoff and causing rapid retries during persistent failures. [PR #1574](https://github.com/riverqueue/river/pull/1574). +- Reduce database overhead in the Active Record and Sequel drivers: use `RETURNING` to avoid redundant row fetches, claim batches and clean up finalized jobs in one statement, and omit unnecessary transactions. Return Active Record connections to the pool after operations and avoid allocating models for job reads. Avoid slow Postgres fetching-index scans for updates and deletes targeting a job by ID when state statistics are stale. Thanks [@jpcamara](https://github.com/jpcamara) for the original performance investigation and proposed fixes in [PR #1566](https://github.com/riverqueue/river/pull/1566). [PR #1574](https://github.com/riverqueue/river/pull/1574). +- Prevent ordinary job wakeups from interrupting maintenance error backoff and causing rapid retries during persistent failures. Thanks [@jpcamara](https://github.com/jpcamara) for the original proposed fix in [PR #1566](https://github.com/riverqueue/river/pull/1566). [PR #1574](https://github.com/riverqueue/river/pull/1574). - Enforce the 32 MiB encoded UTF-8 JSON limit for `Job#output=`, preserving previous output when validation fails. [PR #1569](https://github.com/riverqueue/river/pull/1569). ## [0.15.0] - 2026-10-30