Buildbot: Checksum is sometimes out-of-sync from the file #89
Labels
No Label
Service
Buildbot
Service
Chat
Service
Gitea
Service
Translate
Type
Bug
Type
Config
Type
Deployment
Type
Feature
Type
Setup
No Milestone
No project
No Assignees
3 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: infrastructure/blender-projects-platform#89
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
The checksums are stored in a separate file (
<build_name>.sha256
). They are served via CDN, similar to the actual Blender builds.The issue comes from the fact that sometimes builds do change without change in the file name. For example, LTS tracks keeps being build every night, or a vdev build can be re-triggered with the new libraries.
This leads to situation when CDN cache is in inconsistent state due to build and checksum being cached separately.
Perhaps there is a way to provide proper cache-control from our side, so that CDN can more immediately react to the changes to the content.
I have only just gotten CDN77 access, so I will compare caching strategies for these endpoints and the responses our origin provide to make this more consistent:
Cache-Control Headers: For example, set the
Cache-Control
header tono-cache
ormax-age=0
for the checksum files. This will force the CDN to check for updates each time the file is requested.Invalidate Cache: Implement a cache invalidation strategy where we programmatically purge the specific files from the CDN cache whenever a new build is pushed.
Use ETags: Utilize ETags (entity tags) for these resources. The CDN can then use these tags to determine whether the cached version is still valid or if it should fetch a new version.
CDN Configuration: E.g. different cache rules for different file types or paths.
This issue was prevalent for
download.blender.org
. I changed the Nginx configuration as follows to make sure that Cloudflare revalidates if anything changes at the origin:Using the following sources:
Fixing this issue with revalidation for
cdn.builder.blender.org
by using:Change has been deployed to UATEST and Production.
should
.pdf
be also included in this rule?use case: https://download.blender.org/institute/blender-annual-report-2023-v1.4-web.pdf
@Oleg-Komarov This task is about builds served from builder.b.o, which uses CDN77, which is quite different from download.b.o. Also, some rules on download.b.o has been already tweaked during 4.2 release.
If there are still issues with the download.b.o please submit a new report.
Created #112