Skip to content

Bug 2028704 - [PHAB-BOT] The feed query has a bug where the last feed id is not being updated properly when a single story fails due to database rollback#2580

Open
dklawren wants to merge 2 commits intomozilla-bteam:masterfrom
dklawren:2028704

Conversation

@dklawren
Copy link
Copy Markdown
Collaborator

@dklawren dklawren commented Apr 2, 2026

The PR fixes a transaction scoping bug in Feed.pm. Previously, with_writable_database in run_query wrapped the entire query method, meaning a DB rollback triggered by any single story failure would undo all save_last_id() writes for previously-processed stories. The fix moves with_writable_database inside the per-story loop in feed_query, giving each story its own independent transaction.

… id is not being updated properly when a single story fails due to database rollback
Copilot AI review requested due to automatic review settings April 2, 2026 02:06
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR addresses an issue in the PhabBugz feed polling daemon where a database rollback for one failing story could prevent the “last processed feed id” from being persisted correctly, causing reprocessing on subsequent runs.

Changes:

  • Removes the single outer writable DB transaction from run_query, allowing per-query/per-story transaction scoping.
  • Wraps each individual feed story’s processing in its own with_writable_database transaction so failures roll back only that story.
  • Wraps group_query’s Bugzilla DB reads in with_readonly_database and increases verbosity of last-id logging.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@dklawren dklawren requested a review from cgsheeh April 2, 2026 14:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants