cache-miss pass pushes a record the builder did not push
A meta build whose attic push failed (attic or its token not up yet) is recorded with cached false and the deploy goes ahead. Nothing sent that build again until internal/meta moved, so the create for that agent failed on every hive and a rebuild was silently never pending. The controller's cache-miss pass now also takes a record from the head with cached false: it sends the same build without asking the cache, with the pass's existing backoff (30 min doubling to 12 h), and rewrites the record with cached true once the push lands, under the same compare-and-set guard as a path change. The push.rs module doc no longer claims the next build pushes again. Mixed versions: controller-only, same wire type and builder request. An old controller leaves an uncached record as before; a builder needs no change. Closes #6173
This commit is contained in:
parent
9e0c51052b
commit
64dfe0d205
1 changed files with 169 additions and 51 deletions
|
|
@ -9,8 +9,8 @@
|
|||
//! against the system roots.
|
||||
//!
|
||||
//! A push that does not happen or does not finish leaves the build green with
|
||||
//! `cached` false: the closure is still in the host's store, and the next build
|
||||
//! of the agent pushes again.
|
||||
//! `cached` false: the closure is still in the host's store. The controller's
|
||||
//! cache-miss pass sends the same build again, which pushes it.
|
||||
|
||||
use std::future::Future;
|
||||
use std::path::{Path, PathBuf};
|
||||
|
|
|
|||
Loading…
Reference in a new issue