| Change ID | CHG-2026-0142 |
| Owner | Priya Mehta — Platform Engineering |
| Affected system | Acme ERP · payments-db production cluster · us-east-1 |
| Environment | Production · us-east-1 · 3 nodes (erp-prod-1/2/3) |
| Date | |
| Change type | Normal · CAB review |
| Summary | Apply the Q1 2026 critical patch update (Patch 36245718 — "26B-CPU") to the ERP production stack. The patch addresses three security advisories (CVE-2026-0144, CVE-2026-0158, CVE-2026-0203) and one performance hot-fix to the AR posting engine. UAT in ERP-STAGE ran 2026-04-15 → 2026-04-28 with zero high-severity regressions. |
| Classification | Internal · Change Controlled |
| Submitted | 2026-04-30 14:22 PT by Priya Mehta |
| Implementation window | Saturday 2026-05-09 · 02:00–04:00 UTC (Fri 19:00–21:00 PT) |
| Expected downtime | ≤ 90 seconds during pgbouncer flip in step 05 |
| Risk rating | Medium — production data path, but UAT clean and rollback < 15 min per node |
| Service impact | Customer-facing portals (vendor + carrier) and warehouse handheld order-entry will see a brief 503 during the pgbouncer flip. Reporting and analytics dashboards are unaffected because they read from the warehouse replica. |
| Affected stakeholders | Vendor Operations, Carrier Operations, Warehouse Operations, Finance (AR posting) |
If verification (steps 06–07) fails or any P1 alert fires within the window:
| Role | Approver | Decision | Timestamp |
| Change Manager | Naomi Park | Approved | 2026-05-01 11:08 PT |
| CAB Chair | Marcus Tan — VP Engineering | Approved | 2026-05-02 09:14 PT |
| Business Owner | Dan Okafor — VP Finance | Approved | 2026-05-02 09:46 PT |
| Security Reviewer | Hana Becker — InfoSec | Approved | 2026-05-02 10:33 PT |
Eight steps grouped into four phases (Pre-flight · Cutover · Verify · Post-cutover). Total estimated runtime ≈ 50 minutes. Roles: SRE on rotation, DBA on rotation, Tech Lead (Priya Mehta), QA (Anna Voss).
Run the SRE pre-flight notebook (sre/notebooks/erp-patch-preflight.ipynb). The notebook reads pg_stat_replication on every replica and fails loudly if lag > 100 ms. Capture the output and attach it to this change ticket. Estimated runtime: 5 minutes.
Snapshot to s3://acme-erp-snapshots/preflight/2026-05-09/. Confirm the snapshot manifest hash matches the source manifest before proceeding. Estimated runtime: 10 minutes.
Open status.acmecorporation.com admin and publish the pre-scheduled "Scheduled maintenance — ERP patching" incident in "Investigating" state. Confirm vendor-ops and carrier-ops have acknowledged in Slack. Estimated runtime: 2 minutes.
SSH to erp-prod-2, then run pg_ctl promote -D /var/lib/pgsql/16/data. Confirm the promotion banner appears in the postgres log within 5 seconds. Test a write with a no-op INSERT into the heartbeat table. Estimated runtime: 8 minutes.
Edit /etc/pgbouncer/databases.ini on each pgbouncer host (3×). Change the host= line for the payments-db pool to point at erp-prod-2. SIGHUP pgbouncer with pkill -HUP pgbouncer. This is the only customer-visible step — expect a brief 503 burst (~30 sec) as in-flight connections drain. Estimated runtime: 3 minutes.
Trigger the post-deploy job in CI (qa/smoke-erp-prod). Suite runs ~40 synthetic transactions against the three critical endpoints. All assertions must pass; latency report attaches to the change ticket. Estimated runtime: 15 minutes.
Mark the status-page incident as "Resolved". Post a one-line all-clear in #change-control and email vendor-ops@ and carrier-ops@. Estimated runtime: 2 minutes.
Set erp-prod-1 to read-only mode with ALTER SYSTEM SET default_transaction_read_only = on. Tag the EBS volume retention=30d and notify infra-ops@ so it isn't garbage-collected early. Estimated runtime: 5 minutes.
| Verifier | Confirmation | Timestamp |
| QA — Anna Voss | Smoke suite green; p95 = 184 ms across /charges, /refunds, /webhooks. | 2026-05-09 02:53 UTC |
| SRE on-call — Jordan Lee | No P1/P2 alerts during or 30 min after window; pgbouncer pools healthy on all hosts. | 2026-05-09 03:29 UTC |
| Tech Lead — Priya Mehta | Change closed in ServiceNow; status page resolved; all stakeholders notified. | 2026-05-09 03:42 UTC |