ADR 0257: the sweep after a build leaves an index for a confirmed collect
Let go of alone, an index's platforms would stay for ever under a collected record (re-review of #207).
This commit is contained in:
+9
-4
@@ -84,7 +84,9 @@ Windows included.
|
||||
4. **Let the index go with the platform manifests it names that no kept index of the repository also
|
||||
names, platforms first, only in a collect a person confirmed.** Chosen. The store tools can see every
|
||||
manifest in a repository, and their dry run lists each one that stays and would lose a platform. A
|
||||
person reads that before confirming. The sweep after a build lets an index go alone, as it did before.
|
||||
person reads that before confirming. The sweep after a build does not touch an index: it leaves it
|
||||
eligible for that collect. Letting it go alone would be option 1, and would record it as collected,
|
||||
so no later collect would offer it again and its platforms would stay for ever.
|
||||
|
||||
**The copies no record names**, made before this record by a failed build, or before builds kept what
|
||||
they stood on.
|
||||
@@ -130,8 +132,10 @@ copies alone: another module's artifact is still kept by that module's own build
|
||||
a confirmed `collect` reads, for every repository it will touch, which platform manifests the kept
|
||||
indexes there name. If any of those reads fails, it lets nothing go. Then, for each index it lets go of,
|
||||
it first deletes the platform manifests that no kept index of the same repository names, and deletes the
|
||||
index last. A collect cut short leaves the index to be asked about again. The sweep after a build lets an
|
||||
index go alone. This applies to every index the mesh lets go of, upstream artifacts included.
|
||||
index last. A collect cut short leaves the index to be asked about again. The sweep after a build asks
|
||||
the store whether each eligible reference is an index (one read of its manifest). It skips every index,
|
||||
leaving it eligible and not recorded as collected, and lets go of everything else as before; a read that
|
||||
fails stops the sweep. This applies to every index the mesh lets go of, upstream artifacts included.
|
||||
|
||||
**5. A person may record a copy that no record names.** The controller's `mirrors` verb lists the copies
|
||||
the records hold, with their states. Given references, it records the ones that are in a repository only
|
||||
@@ -203,7 +207,8 @@ ADR 0097 is superseded in one sentence only: a base is copied into the image's o
|
||||
- **The sweep.**
|
||||
- Through the records, a confirmed collect lets an eligible index go with its own platform, platforms
|
||||
first, and leaves the platform a kept index of the same repository names.
|
||||
- The sweep after a build lets an index go alone.
|
||||
- The sweep after a build leaves an eligible index eligible and lets an image go, and a later confirmed
|
||||
collect takes the index with its own platform.
|
||||
- An image is one delete.
|
||||
- A kept index the store will not answer for stops a confirmed collect before its first delete, and an
|
||||
index in a repository not read beforehand is kept.
|
||||
|
||||
@@ -116,7 +116,8 @@ A build that stands on an image published elsewhere copies it into the store fir
|
||||
- **An index goes with its platforms only in a confirmed collect.** Before its first delete, it reads
|
||||
which platforms the kept indexes of every repository it touches name, and lets nothing go if a read
|
||||
fails. It deletes the platform manifests an index names that no kept index of its repository also
|
||||
names, and deletes the index last. The sweep after a build lets an index go alone.
|
||||
names, and deletes the index last. The sweep after a build skips every eligible index and leaves it
|
||||
eligible for such a collect; it lets other eligible artifacts go as before.
|
||||
- **A copy no record names** waits for a person. `artifact_store_references` lists each one in
|
||||
`unrecorded_mirrors`, with what it alone marks. The controller's `mirrors` verb records the ones a
|
||||
person names, and the sweep then decides about them.
|
||||
@@ -130,7 +131,7 @@ A build that stands on an image published elsewhere copies it into the store fir
|
||||
runs after a build: every kept archive held first, then each eligible reference let go and recorded
|
||||
as collected, stopping at the first refusal by the store. It is bounded by a count and a time, says
|
||||
what is left, and is a hand-act recorded with its `why`. A confirmed collect lets an index go with its
|
||||
own platform manifests (ADR 0257); the sweep after a build lets it go alone.
|
||||
own platform manifests (ADR 0257); the sweep after a build leaves an eligible index for it.
|
||||
- **`mirrors`** lists the copied bases the records hold, with their states. Given references, it records
|
||||
the copies that are in a repository only the copy step writes and that the store holds. It is a dry
|
||||
run without `confirm`; with `confirm` it needs a `why`, and it is a hand act, logged once the copies
|
||||
|
||||
Reference in New Issue
Block a user