Post-Mortem: Commerce API Service Degradation — March 13, 2026
Duration: 2026-03-13 11:55 – 16:15 CET
Impact: High latency, timeouts, and intermittent failures on the Commerce API and Legacy API for a significant portion of customers in the multi-tenant production environment.
Status page history: https://norce.statuspage.io/incidents/m05jyh3crwzd
Summary
On March 13th, the Commerce API experienced severe service degradation caused by a misconfiguration made by a customer's external solution partner. The solution partner was performing a large-scale product import into the customer's staging environment and had incorrectly configured their webhook subscriptions — subscribing to far more event types than necessary and pointing the webhook target at their own production endpoint. That endpoint called GetProductByPartNo against our production Commerce API for products that only existed in the staging environment, resulting in 100% cache misses and direct database load. Combined with our webhook retry mechanism (up to 15 retries per failed delivery), this produced traffic exceeding 10x the normal level for the entire multi-tenant environment.
The excessive load caused thread pool exhaustion and connection pool saturation, leading to cascading failures across the affected infrastructure shard. Recovery was further complicated by a "thundering herd" effect — each time the environment stabilized, all affected customers' applications reconnected simultaneously, producing up to 5x normal traffic and causing repeated collapses.
Timeline (CET)
Root Cause
The solution partner's webhook configuration had two critical errors: (1) overly broad event subscriptions caused each product update to trigger 3+ webhook calls, and (2) an environment mismatch routed those calls through to our production API for products that didn't exist in production. Every request missed the cache and hit the database directly. Our webhook retry mechanism amplified the problem by retrying each failed delivery up to 15 times.
What We Did
What We've Changed
What We're Implementing
We apologize for the disruption and are committed to these improvements to prevent similar incidents in the future.