惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

GbyAI
GbyAI
The Last Watchdog
The Last Watchdog
TaoSecurity Blog
TaoSecurity Blog
PCI Perspectives
PCI Perspectives
L
LINUX DO - 最新话题
H
Heimdal Security Blog
S
Security Archives - TechRepublic
www.infosecurity-magazine.com
www.infosecurity-magazine.com
T
Troy Hunt's Blog
SecWiki News
SecWiki News
S
Secure Thoughts
The Cloudflare Blog
Last Week in AI
Last Week in AI
Google DeepMind News
Google DeepMind News
Attack and Defense Labs
Attack and Defense Labs
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
量子位
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
V
Visual Studio Blog
N
News and Events Feed by Topic
E
Exploit-DB.com RSS Feed
博客园 - Franky
博客园 - 司徒正美
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
酷 壳 – CoolShell
酷 壳 – CoolShell
Know Your Adversary
Know Your Adversary
M
MIT News - Artificial intelligence
V
V2EX
Webroot Blog
Webroot Blog
Hacker News - Newest:
Hacker News - Newest: "LLM"
Cyberwarzone
Cyberwarzone
博客园 - 【当耐特】
月光博客
月光博客
Y
Y Combinator Blog
B
Blog RSS Feed
Recent Announcements
Recent Announcements
S
Schneier on Security
H
Hacker News: Front Page
Stack Overflow Blog
Stack Overflow Blog
NISL@THU
NISL@THU
小众软件
小众软件
雷峰网
雷峰网
P
Privacy International News Feed
腾讯CDC
大猫的无限游戏
大猫的无限游戏
博客园 - 叶小钗
C
Cyber Attacks, Cyber Crime and Cyber Security
V
Vulnerabilities – Threatpost
H
Hackread – Cybersecurity News, Data Breaches, AI and More
N
News and Events Feed by Topic

Resend RSS Feed

6 Tips for Accessible Emails Welcoming Manoel do Amaral, our new Brand Designer Welcoming Michael Vaz, our new Customer Success Engineer Six Steps to Improve Your Sender Reputation Welcoming Tatira Andrade, our new Executive Assistant Welcoming Pedro Ivo Hudson, our new Design Engineer Welcoming Diel Duarte, our new Open source Engineer Welcoming Areia Spinner, our new Recruiter Resend Forward: A Conference about Craft React Email 6.0 Custom Tracking Domains AI Email Editor Introducing Automations Welcoming Ahmed Tolba, our new SRE Engineer Welcoming Aneil Singh, our new Founding Account Executive Welcoming Lucas Motta, our new Software Engineer Welcoming Trey Knowles, our new Founding Account Executive Welcoming Anxhela Carciu, our new SRE Engineer Introducing DMARC Analyzer Welcoming Evan Thibodeau, our new Customer Success Engineer Welcoming Derich Pacheco, our new Software Engineer Welcoming Alec Ventura, our new Data Engineer Welcoming Felipe Freitag, our new Software Engineer Welcoming Mateusz Wos, our new Software Engineer Email automation for OpenClaw How to Create a DevTools Agent Skill Introducing Email Skills Why You Should Embrace the Promotions Tab Slater Smith, our new Customer Success Engineer Do You Need a Warmup Service? Welcoming Zá Scalon, our new Brand Designer How Replit Built Effortless Email Sending Features 1,000,000 users Top 10 new features in 2025 Welcoming Danilo Campos, our new Design Engineer How Dub Uses Webhooks to Power Features Incident report for November 18, 2025 Resend Forward 5: Wrap Up One More (AI) Thing React Email 5.0 Unsubscribe Topics New Contacts Experience Introducing Templates Inbound Emails $3M to Make Email Safer Hacktoberfest 2025 Four Ways to Hurt Your Sender Reputation Resend MCP Hackathon Welcoming Christina Martinez, our new Developer Experience Engineer How to read a DMARC report Welcoming Erin Levine, our new Chief of Staff How to Validate Form Inputs Engineering an AI App Welcoming Lucas da Costa, our new Software Engineer Welcoming Lucas Vieira, our new Software Engineer Resend acquires Briefer How Raycast Modernized their Email Sending How to Get Email Consent DMARC Policy Modes Welcoming Gabriel Miranda, our new Software Engineer Rebranding Resend The 7 Best Email Verification APIs for Developers How DMARC Applies to Subdomains Welcoming Pedro Gomes, our new Software Engineer Do You Need a Dedicated IP? The 6 best notification infrastructure services The Fixer Why Your Emails are Going to Spam Engineering Idempotency Keys Microsoft’s bulk sending requirements for 2025 Welcoming Rehan van der Merwe, our new Devops Engineer 400,000 users and beyond Welcoming Cassio Zen, our new Software Engineer Resend acquires Mergent How to warm up a new domain Welcoming Carolina Josephik, our new Software Engineer Launch Week: Behind the Scenes Welcoming Isabella Aquino, our new Software Engineer Resend Forward 4: Wrap Up React Email 4.0 Multiplayer Editor Broadcast API Multiple Teams new.email Public Launch Welcoming Anna Ward, our new Postmaster How Gumroad Migrated 100M Emails to Resend Welcoming João Melo, our new Software Engineer Welcoming Jp Valery, our new Customer Success Engineer What is AX (Agent Experience) and how to improve it Welcoming Pauline Chin, our new Customer Success Engineer Introducing new.email How we use Friction Logs to improve the product Top 10 Email Deliverability Tips Welcoming Giovana Yahiro, our new Designer Engineer What BIMI's Changes Mean for Email Top 10 new features in 2024 Design Engineering an X Component Welcoming Alexandre Cisneiros, our new Software Engineer Resend raises $18M Series A Welcoming Danilo Woznica, our new Designer Engineer
Incident report for February 15, 2026
Cassio Zen, Felipe Volpone, Zeno Rocha · 2026-02-16 · via Resend RSS Feed

On February 15, 2026, starting at 10:19 PM UTC, Resend experienced an incident that caused email sending delays and errors loading the dashboard.

The outage lasted 3 hours and 31 minutes, with full service recovery at 1:50 AM UTC.

No emails were lost during this incident. However, most of the emails were delayed, and the dashboard was inaccessible due to database connection exhaustion.

We're really sorry if you were affected by this incident. You trust Resend with your emails, and we take that seriously. This post is a transparent account of what happened, how we responded, and the steps we're taking to prevent this from happening again.

Incident overview

The database reached its maximum connection limit, with idle connections not being released fast enough under load. This caused connection exhaustion across the system, preventing the dashboard and non-email API operations from functioning normally.

We resolved the outage by:

  1. Reducing connection pool sizes
  2. Limiting idle connection times
  3. Setting stricter connection limits per database role

Email sending continued to work throughout the incident, but delivery was delayed by approximately 2 hours on average, with all queued emails fully delivered by the end of the incident.

Timeline (UTC)

All times are in Coordinated Universal Time (UTC)

  • 22:20: Alerts were triggered for request latency
  • 23:07: Noticed dashboard operations getting slow
  • 23:55: Internal incident escalation and investigation
  • 00:00: Posted on status page, updating every 30-60 minutes until resolution
  • 00:19: Enabled attack mode out of abundance of caution (visitors had to complete a security challenge before accessing the dashboard)
  • 00:22: Reduced the maximum database connection pool size
  • 00:42: Scaled up compute resources for executing server functions
  • 00:50: Altered maximum number of connections for the application's database role
  • 00:59: Observed a drop in the number of active database connections while processing the email queue at full speed
  • 01:03: Observed the number of 5xx errors decreasing significantly
  • 01:36: No more pending emails in the queue

Background

Yesterday, due to a lack of configuration in one of our databases, a service went from an average of 60 database connections usage to over 330. This spike was unusual because it was not correlated to the actual traffic.

Graph showing database connections increasing
Graph showing database connections increasing

We have applications using different sets of combinations for: deployment type (long-lived, serverless, cron-based, etc), Postgres library and database connection config (direct vs using Pooler). This mixed setup made it hard to ensure a healthy usage of the database connections.

Since we built the email sending platform to be resilient to database unavailability, emails were delayed but not lost.

How we responded

After identifying the database starvation issue, we realized the Max Pool Size for the database clients was too high, allowing that single application to use more database connections than it needed.

Graph showing database connections decreasing
Graph showing database connections decreasing

We decreased the initial number twice, in a time interval of 20 minutes, allowing Resend's services to recover and open new connections to the database. After that, we altered the max number of connections for the faulty application (using Postgres connection limit configuration).

After approximately 40 minutes, the whole platform recovered and started reprocessing the delayed emails.

It's important to note that the internal escalation process took way longer than it should have, and we're actively working on improving it.

Moving forward

To prevent this from happening again, here's what we're changing:

1. More resilient database connections

  • Reviewing every Postgres role configuration to ensure that all applications have the proper limits on the number of connections they can open.
  • Isolating a few critical tables as a separate database to reduce the blast radius of heavy load times.

2. Better incident response

  • Improving the on-call rotation and escalation processes to reduce initial response time.
  • Implementing a better way for customers to contact us during dashboard incidents.

Thank you to everyone who reported issues and gave us feedback. We hear you, and we're acting on it. If you have questions or concerns, please reach out to us.