PAR-250
Revert prod account_access compat view + premature explorer deploy before next release
Why this exists (incident context)
Creating a main branch and pushing it built economy-explorer:production-sha-36d7d90 and Argo CD Image Updater auto-promoted it to prod, jumping the explorer across unreleased develop work — specifically PAR-249 (account members/authorizers/viewers → consolidated account_access, migration V18). Prod's DB is still pre-V18 (account_members + account_authorizers, no account_access), so the new explorer code (lib/sql/me.ts, lib/sql/ledger.ts) queried a non-existent account_access table → /me and account/ledger pages broke for logged-in users.
Stop-gap currently in prod (must be undone)
A read-only compatibility view was created in the prod economy DB so the running 36d7d90 image works against the old schema (source of truth stays in the legacy tables; plugins untouched):
CREATE OR REPLACE VIEW account_access AS
SELECT account_id, member_uuid_bin AS subject_uuid_bin,
CONVERT('MEMBER' USING utf8mb4) COLLATE utf8mb4_general_ci AS level,
left_at AS removed_at FROM account_members
UNION ALL
SELECT account_id, authorizer_uuid_bin AS subject_uuid_bin,
CONVERT('AUTHORIZER' USING utf8mb4) COLLATE utf8mb4_general_ci AS level,
revoked_at AS removed_at FROM account_authorizers;
(The COLLATE utf8mb4_general_ci is load-bearing — without it the level IN (...) comparison throws ER_CANT_AGGREGATE_3COLLATIONS.)
⚠️ Must happen BEFORE the next release
DROP VIEW account_accessin the prod economy DB. Migration V18 doesCREATE TABLE account_access— it will collide with this view and the migration will fail if the view still exists.- Decide the end-state and execute it:
- (a) Roll the explorer back to last-good
production-sha-ce48286(pre-PAR-249), keeping prod on old code until the plugins can go live; or - (b) Ship the coordinated 2.3.0 release — apply V18 together with the updated Treasury/Business plugins (which read
account_access) and the new explorer. Do not apply V18 alone: it dropsaccount_members/account_authorizers, which the currently-deployed pre-PAR-249 plugins still read, and would break in-game economy account access.
- (a) Roll the explorer back to last-good
- Pipeline hygiene so this can't recur:
maincurrently points at36d7d90, and Image Updater usesnewest-buildon^production-sha-[0-9a-f]{7}$, so it will keep re-selecting36d7d90. Rewind/fixmain, remove/quarantine the36d7d90tag in Harbor, and revert thegitopsapps/economy-explorer/overlays/productionkustomization, so a stray push tomaincan't auto-deploy unreleased work to prod.
Done when
account_accessview dropped in prod (no view shadowing the eventual V18 table).- Prod explorer is on a deliberately-released image (ce48286 rollback, or the full 2.3.0 cutover), not the accidental
36d7d90. main/ Image Updater / Harbor cleaned up so the accidental-promotion path is closed.
Related: PAR-249 (account_access consolidation / V18).
Resources
- PR#2 Last major release ParadauxIO/hibernia-economy
- commit55de8b7 Fold the prod compat-view drop into V18 (PAR-249/PAR-250)ParadauxIO/hibernia-economy
Comments
No comments yet.
Activity
- ParadauxIO linked a pull request — PR #2 open — Last major release
- ParadauxIO linked a pull request — PR #2 open — Last major release
- ParadauxIO linked a pull request — PR #2 open — Last major release
- ParadauxIO linked a pull request — PR #2 open — Last major release
- ParadauxIO linked a pull request — PR #2 open — Last major release
- ParadauxIO linked a pull request — PR #2 open — Last major release
- ParadauxIO linked a pull request — PR #2 open — Last major release
- ParadauxIO linked a commit — Commit 55de8b7 — Fold the prod compat-view drop into V18 (PAR-249/PAR-250)
- tesks created the issue