Repository navigation
v3.2.2 — Canary: API v3
The canary release: API v3, rolled out next to v2 and promoted to 100% by the pipeline. It carries everything in v3.2.0 and v3.2.1.
API v3
/v3/items: every item carries its binlocation, readable in GET and writable in POST and PATCH. v1 and v2 never see it./api/...without a version serves v3; every resource is served under/v3.- Expand/Contract: the canary adds the nullable column before it starts; 3.1.0 keeps working on the same database, and a rollback loses nothing.
Fixed in the pipeline while rehearsing it
- v3.2.1: each stage waits for alarms left by an earlier rollout to clear before moving traffic.
- v3.2.2: both alarms count a minute without canary traffic as healthy (
FILL(..., 0)). With no new data, a CloudWatch alarm keeps looking back at the minutes that broke it, so after a rollback it never cleared.
Verified on AWS
| Run | Canary share measured | Canary requests | Outcome |
|---|---|---|---|
promote, fault=error |
9.0% at stage 1 | 399, all 5xx | alarm canary-errors → ABORT → 0% |
promote, fault=latency |
8.9% at stage 1 | 397, p95 1,548 ms | alarm canary-latency → ABORT → 0% |
| promote, no fault | 9.5% → 47.9% → 97.3% | 426 → 2,140 → 4,354 | PROMOTE at every stage; stable rebuilt with 3.2.2 |
A bin location written through v3 while the canary held 0% survived both aborts and the promotion.