fix: RSS feeds show stale data for rebuilt packages - #1375
Conversation
Use Max() instead of Min() for the added_at timestamp aggregation so feeds reflect the most recently added file for each (name, version) pair. Append a timestamp fragment to the guid so RSS readers treat rebuilds as new items. Raise UPDATES_LIMIT from 100 to 500 for indexes with large batch promotions. Fixes pulp#1374 Assisted-by: AI (Claude Opus 4.6) Signed-off-by: Ryan Petrello <rpetrell@redhat.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (3)
Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review. 📝 WalkthroughWalkthroughRSS feeds now use the most recent file timestamp for releases and projects. Feed identifiers include publication timestamps, update limits increase to 500, and functional tests cover rebuilt package versions. ChangesRSS feed fixes
Priority: ➖ Normal Estimated code review effort: 2 (Simple) | ~10 minutes Severity of issue fixed: Medium Merge Risk: ⚪ Minimal · up to RSS feeds now surface rebuilt packages using their latest file timestamp, publish update-specific non-permalink GUIDs, and return up to 500 updates. The changed behavior is covered for rebuilds, with no concrete current-head merge risk identified. 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Backport to 3.36: 💚 backport PR created✅ Backport PR branch: Backported as #1377 🤖 @patchback |
Summary
Max()instead ofMin()for theadded_attimestamp aggregation so feeds reflect the most recently added file for each(name, version)pair#timestampfragment to the<guid>so RSS readers treat rebuilds as new items, and setisPermaLink="false"accordinglyUPDATES_LIMITfrom 100 to 500 for indexes with large batch promotionsContext
When a package is rebuilt with a different PEP 427 build tag (e.g.,
pkg-1.0-1-...whlthenpkg-1.0-2-...whl), the RSS feed continued to show the original timestamp and guid becauseiter_releases()usedMin("file_added_at"). RSS readers never surfaced the rebuild as a new item because the<guid>was unchanged.The 100-entry limit in
updates.xmlwas also too small for indexes that receive batch promotions of 100+ packages at once (we've seen promotions of up to 117 packages in a single hour).Fixes #1374