Retire the client-side changelog registry refresh - #3760
Open
cotti wants to merge 1 commit into
Open
Conversation
cotti
force-pushed
the
changelog-retire-client-registry-refresh
branch
from
August 4, 2026 01:50
4cefbe5 to
cc65ecf
Compare
reakaleek
approved these changes
Aug 4, 2026
Mpdreamz
approved these changes
Aug 4, 2026
The scrubber Lambda is the sole producer of the public registry.json, reconciled from public bucket state on the S3 events every upload already emits (elastic/docs-eng-team#688 Phase 3). Uploads now write YAML objects only; RegistryBuilder and the private-manifest write path are removed, and the amend end-to-end test exercises RegistryReconciler instead.
cotti
force-pushed
the
changelog-retire-client-registry-refresh
branch
from
August 6, 2026 15:30
cc65ecf to
95b64ed
Compare
cotti
changed the base branch from
changelog-registry-reconcile-cli
to
changelog-registry-scrubber-ownership
August 6, 2026 15:34
cotti
added a commit
that referenced
this pull request
Aug 6, 2026
Restacked on the scrubber-ownership chain: the scrubber Lambda owns the
public bundle/{product}/registry.json manifests and the shallow per-tree
maps (#3738), and the client-side refresh machinery is retired (#3760).
The migration command now writes YAML bundle objects only; the S3 events
those creates emit trigger the reconciliation that materializes the
manifests. Tests assert no registry.json is ever PUT.
9 tasks
Contributor
Author
|
Restacked: #3741 was closed with the per-product cutover tooling, so this now sits directly on #3738 (rebased onto its reworked branch — shallow per-tree maps, group reconcile scoped to the bundle tree). Same single commit, no content changes beyond the rebase; 849/849 tests green on the new chain. Now part of stack #3800 (#3738 ← this ← #3794). |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
Phase 3 of elastic/docs-eng-team#688, stacked on #3738. With the scrubber Lambda as the sole producer of the public bundle manifests and the shallow per-tree maps (#3738), the client-side registry refresh is the last remaining writer in the retired multi-writer model. Keeping it would let a stale private manifest linger (nothing consumes it anymore) and would keep upload logs claiming registry responsibility the CLI no longer has.
Note
Restacked 2026-08-06: this PR previously sat on #3741 (registry reconcile/verify CLI), which was closed after review — the per-product registry cutover tooling went with it. It now stacks directly on #3738, whose rework scopes group reconciliation to the bundle tree and adds the shallow folder→token maps.
What
changelog uploadnow writes YAML objects only: the post-upload refresh block,RegistryBuilder, and the private-manifest write path are gone. The registry materializes from the S3 events the upload already emits. The amend end-to-end test now drivesRegistryReconciler(the production path) for its registry step, and the upload tests assert that noregistry.jsonis ever PUT.Old binaries in the wild keep writing private manifests — harmless: bundle registry-key events only schedule a group reconcile and are never copied to the public bucket.
Important
Do not merge until the Phase 2 cutover checkpoint passes (scrubber Lambda deployed with #3738, queue drained, DLQ empty, and a spot-check that public
bundle/{product}/registry.jsonmanifests carry the reconciler'sproducerfield — see elastic/docs-eng-team#688). Releasing this before the Lambda owns the public registry would leave registries permanently stale.After this releases, the now-dead private
registry.jsonobjects can be deleted (operational step, no code): theirObjectRemovedevents only schedule redundant reconciles.Part of elastic/docs-eng-team#688 (Phase 3).