Skip to content

v3.2.2 — Canary: API v3

Choose a tag to compare

@SebaScript SebaScript released this 28 Oct 05:53
· 23 commits to main since this release

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 bin location, 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.