YouTube channels fail most days with a 404 or 500 that a second request does not get #382

Closed
opened 2026-11-04 08:43:52 -08:00 by rays · 1 comment
Owner

The 39 YouTube channel feeds in the catalogue (https://www.youtube.com/feeds/videos.xml?user=... and ?channel_id=...) fail at most of their daily checks with HTTP 404 Not Found or HTTP 500 Internal Server Error, and read on others. 178 failures in the 7 days to 2026-11-04, against 74 in the 10 days before.

They are not dead: linus-tech-tips failed on 2026-10-26..31 and 11-02..04 and read on 11-01 (6 new). Fetched from Tower one after another, and ten at a time, all 39 answered 200, with ipx's User-Agent. In the scan of trace d13ff82ce34a453aedc62df4f484bd0d (2026-11-04 00:22), linus-tech-tips got its 404 in 54 ms while macrumors, another YouTube channel, read 200 ms later. YouTube answers a feed request now and then with a 404 or 500 it does not mean, and a feed checked once a day then misses the day.

$Q metric 'sum by (ev) (count_over_time({container="iPX"} |~ "feed_(done|error)" | json | __error__="" | feed=~"<the YouTube ids>" [$range]))' 7d

Fix: retry a YouTube feed's 404 or 5xx in feed::fetch before calling it a failure.

The 39 YouTube channel feeds in the catalogue (`https://www.youtube.com/feeds/videos.xml?user=...` and `?channel_id=...`) fail at most of their daily checks with `HTTP 404 Not Found` or `HTTP 500 Internal Server Error`, and read on others. 178 failures in the 7 days to 2026-11-04, against 74 in the 10 days before. They are not dead: `linus-tech-tips` failed on 2026-10-26..31 and 11-02..04 and read on 11-01 (6 new). Fetched from Tower one after another, and ten at a time, all 39 answered 200, with ipx's User-Agent. In the scan of trace `d13ff82ce34a453aedc62df4f484bd0d` (2026-11-04 00:22), `linus-tech-tips` got its 404 in 54 ms while `macrumors`, another YouTube channel, read 200 ms later. YouTube answers a feed request now and then with a 404 or 500 it does not mean, and a feed checked once a day then misses the day. ``` $Q metric 'sum by (ev) (count_over_time({container="iPX"} |~ "feed_(done|error)" | json | __error__="" | feed=~"<the YouTube ids>" [$range]))' 7d ``` Fix: retry a YouTube feed's 404 or 5xx in `feed::fetch` before calling it a failure.
rays added the bug label 2026-11-04 08:43:52 -08:00
Author
Owner

Fixed in 245fa79: a YouTube feed answered 404 or 500 is asked once more before it counts as failed. Deployed 2026-11-04 20:23 UTC (1.5.2-dev); the first attempt to deploy it stalled Tower, see c8cbb30.

Fixed in 245fa79: a YouTube feed answered 404 or 500 is asked once more before it counts as failed. Deployed 2026-11-04 20:23 UTC (1.5.2-dev); the first attempt to deploy it stalled Tower, see c8cbb30.
rays closed this issue 2026-11-04 12:23:30 -08:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: rays/ipx#382