MK

Overview

Deployment activity across the acme organization.

  • Deploys this week

    13

    Across 6 repositories

  • Success rate

    82%

    9 of 11 finished runs

  • Active environments

    3

    production, staging, preview

  • Open incidents

    1

    payments-prod rollout blocked

Recent deployments

View all
StatusRepositoryCommitTime
Runningacme/checkout-webfeat(cart): persist promo codes across sessions4a7be2118m ago
Failedacme/payments-apifeat(settlements): add nightly batch reconciler9f2c1d41h ago
Successacme/notifications-workerchore(deps): bump amqp client to 5.21.01c83f072h ago
Successacme/identity-servicefix(oauth): refresh token rotation on concurrent grantse50d9a33h ago
Pendingacme/analytics-gatewayfeat(tracing): emit OTel spans for ingest pipeline77bc4e83h ago
Successacme/payments-apirefactor(ledger): extract idempotency key storeb2f6d9016h ago

DevMate summary

high confidence

What happened

Rollout blocked by memory limits, not by your code

The image built and the manifests applied cleanly. During verification, 3 of 4 pods were OOMKilled about 10 seconds after start and fell into CrashLoopBackOff, so the rollout never reached the minimum of 3 available replicas. The new nightly batch reconciler loads settlement batches into memory at boot, which pushes steady-state usage to roughly 249Mi against a 256Mi container limit that has not changed since March. Traffic was never shifted — the previous revision (2e7f83b) is still serving production.

Suggested fixes

  1. 1

    Raise the memory limit to 512Mi

    The reconciler needs headroom above the 249Mi observed peak. Doubling the limit leaves ~50% margin and matches what identity-service runs with.

  2. 2

    Stream settlement batches instead of loading them at boot

    SettlementReconciler.loadPendingBatches() reads the full result set into a list. Paging it at 500 rows would keep the container under 300Mi without changing the limit.

+1 more suggestion