Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
fix: Exclude TIMEOUT errors when disabling streams (#7369)
In #7368, we get stuck in a loop loading forever. This regression was introduced in v4.4.0 and affects all v4.4, v4.5, v4.6, v4.7, and v4.8 releases, as well as v4.9.0-28, v4.9.2-caf1, v4.10.0-20, and v4.11.0-6. The loop is composed of these elements: 1. an error that triggers disabling a stream 2. an error that doesn't resolve itself over time 3. an error that is slow enough to trigger that the first streams get re-enabled 4. VOD content that doesn't change while we sit in the loop 5. enough streams to avoid exhausting them during the cycle Only `TIMEOUT` errors can trigger this bug AFAICT, so we should exclude those from the logic to disable streams. Note also that live streaming already retries indefinitely by default, and that normal ABR logic will change streams for us if we timeout due to a lack of bandwidth. Disabling streams on `TIMEOUT` was suggested initially in #4764, but was not a requirement of the OP. It was added out of caution in #4769, but not really vetted. Because it was not ever explicitly needed, excluding it is not a regression. Closes #7368 Backported to v4.9.2-caf Release-As: 4.9.2-caf2
- Loading branch information