Validation: pal-e-api#252 — Partial indexes for mermaid blocks and architecture notes
Ticket
forgejo_admin/pal-e-api#252 — Add partial indexes for mermaid blocks and architecture notes
Board item: #944 on board-pal-e-docs
PR: #253 (merged)
Board item: #944 on board-pal-e-docs
PR: #253 (merged)
Shipped: Two partial indexes —
ix_blocks_block_type_mermaid on blocks table and ix_notes_note_type_architecture on notes table — to speed up filtered queries.Environment
Prod cluster (archbox), namespace
pal-e-docs. Database: paledocs on pal-e-postgres-1 in namespace postgres.Checks
| # | Criterion | How to Verify | Result | Evidence |
|---|---|---|---|---|
| 1 | PR #253 merged to main | Forgejo PR list, state=closed | PASS | PR #253 state=closed, merged=true |
| 2 | Pod running in pal-e-docs namespace | <code>kubectl get pods -n pal-e-docs</code> | PASS | pal-e-docs-76b5f66c69-qxlg6 Running, 0 restarts, 14d age |
| 3 | Index <code>ix_blocks_block_type_mermaid</code> exists on blocks table | <code>kubectl -n postgres exec pal-e-postgres-1 -- psql -U postgres -d paledocs -c "\di"</code> | FAIL | Index not present in <code>\di</code> output. 27 indexes listed, neither partial index exists. |
| 4 | Index <code>ix_notes_note_type_architecture</code> exists on notes table | <code>kubectl -n postgres exec pal-e-postgres-1 -- psql -U postgres -d paledocs -c "\di"</code> | FAIL | Index not present. Current alembic_version: <code>s9n0o1p2q3r4</code> |
| 5 | EXPLAIN uses mermaid partial index | Blocked — index does not exist | BLOCKED | N/A |
Verdict
PARTIAL — PR merged successfully, pod is healthy, but the alembic migration has not been applied to production. The two partial indexes (
ix_blocks_block_type_mermaid, ix_notes_note_type_architecture) do not exist yet. Needs alembic upgrade head run against prod database.Discovered Issues
- Pod image is 14 days old (tag
89f663bb...). The deployment may not have been updated after PR #253 merged. Verify CI built and pushed the new image, and that ArgoCD/kustomize picked up the new tag. - Migration
alembic upgrade headneeds to be run on prod — either via a job or manual exec into the pod.