Nov. 21st, 2024: Change in render service error handling behavior
Article Overview
- Situation
- Complication
- Resolution
- Impact
- Am I impacted by this change?
- When is this change taking effect?
Situation
Siteimprove uses a headless browser to render website pages. This process can be influenced by various configurations to ensure the page is optimized before interactions and capturing can occur. A key aspect of this is that it waits for specific page lifecycle events, such as when the page’s DOM is fully loaded or when all network requests are complete.
Complication
Previously, if these lifecycle events didn’t occur as expected, Siteimprove would raise an error and discard the page. The system would then retry the process and, if the retries also failed, the page would be discarded entirely. This caused unnecessary work, increased load on customer websites and Siteimprove’s infrastructure, and resulted in inconsistent page counts due to intermittent failures.
Resolution
Our new approach changes this error handling process. Now, Siteimprove will:
- Navigate to the page URL
- Wait for the lifecycle event OR for a timeout
- Capture the page in its current state if the page navigation succeeded, even in cases where the lifecycle event doesn't occur
- Log a warning if the lifecycle event didn’t happen
Impact
- Fewer retries of page downloads, resulting in faster crawl speeds
- Fewer discarded pages due to errors, leading to a one-time increase in page count. The impact of this will vary by site
- Less manual intervention needed to successfully crawl sites
- Potential changes in DCI scores due to increases in page counts and the capturing of pages that may not be fully loaded
Am I impacted by this change?
98% of all Siteimprove customers are not expected to be affected by this change at all.
2% of our customers may notice an impact on some of their sites. The extent of the impact depends on the number of pages that were previously discarded.
Once deployed, annotation will be added to the relevant DCI graphs, indicating the specific time of the change.
When is this change taking effect?
The rollout of the change happens end of November 2024. An annotation will be added to the QA graphs to specify the time of the change for a specific site. A crawl needs to happen for the change to take effect, once it is rolled out.
Did you find it helpful? Yes No
Send feedback