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

推荐订阅源

奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
人人都是产品经理
人人都是产品经理
爱范儿
爱范儿
aimingoo的专栏
aimingoo的专栏
博客园 - 叶小钗
H
Help Net Security
Microsoft Security Blog
Microsoft Security Blog
The Cloudflare Blog
S
SegmentFault 最新的问题
小众软件
小众软件
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 司徒正美
The GitHub Blog
The GitHub Blog
量子位
H
Hackread – Cybersecurity News, Data Breaches, AI and More
V
V2EX
Martin Fowler
Martin Fowler
博客园 - 【当耐特】
J
Java Code Geeks
D
DataBreaches.Net
云风的 BLOG
云风的 BLOG
F
Fortinet All Blogs
Blog — PlanetScale
Blog — PlanetScale
Last Week in AI
Last Week in AI

Deno

Deno 2.8 | Deno Claw Patrol: an open-source security firewall for agents | Deno Fresh 2.3: Zero JS by default, View Transitions, and Temporal support | Deno Deno 2.7: Temporal API, Windows ARM, and npm overrides | Deno Build a dinosaur runner game with Deno, pt. 6 | Deno Build a dinosaur runner game with Deno, pt. 5 | Deno Deno Deploy is Generally Available | Deno Introducing Deno Sandbox | Deno Build a dinosaur runner game with Deno, pt. 4 | Deno Build a dinosaur runner game with Deno, pt. 3 | Deno Build a dinosaur runner game with Deno, pt. 2 | Deno React / Next.js Denial-of-Service Vulnerability: Deno Deploy users protected | Deno Deno 2.6: dx is the new npx | Deno Build a dinosaur runner game with Deno, pt. 1 | Deno React Server Functions / Next.js Vulnerability: Deno Deploy users protected | Deno My highlights from the new Deno Deploy | Deno Deno's Other Open Source Projects | Deno How Deno protects against npm exploits | Deno Help Us Raise $200k to Free JavaScript from Oracle | Deno Deno 2.5: Permissions in the config file | Deno Fresh 2.0 Graduates to Beta, Adds Vite Support | Deno Deno 2.4: deno bundle is back | Deno JavaScript™ Trademark Update | Deno What's coming to JavaScript | Deno A brief history of JavaScript | Deno Reports of Deno's Demise Have Been Greatly Exaggerated | Deno An Update on Fresh | Deno How Plaid migrated 100 services to a new database platform 5x faster with Deno | Deno Deno 2.3: Improved deno compile, local npm packages, and more | Deno Add JSR packages with pnpm and Yarn | Deno
September 23 incident update | Deno
Luca Casonat · 2021-09-23 · via Deno

On Thursday at 3:11 UTC several services provided by the Deno company had a 35 minute service disruption. During this time projects hosted at Deno Deploy and the deno.land website were not responding. We have concluded that this outage was the result of an unexpected database maintenance event. This post details what exactly happened, how we recovered the systems, and what we are doing to prevent this in the future.

All services are now operating normally again. No data was lost. We take outages like these seriously and sincerely apologize for the disruption.

Timeline of events

At 3:11 UTC a primary Postgres database hosted on Google Cloud Platform started an unexpected maintenance event.

At 3:13 UTC an automated alarm triggered that a request to deno.land/std failed.

At 3:32 UTC the database maintenance finished, but ended in a unknown failure state.

At 3:48 UTC the database server restarted automatically due to the earlier failure, and the alarm was cleared.

Root cause

Deno Deploy has a primary Postgres database that is hosted on Google Cloud Platform. This database is used to store various data that is used by Deno Deploy to run its services. This database is set-up in a highly available fashion, and can fail over to standby replicas when the primary fails.

At 3:11 UTC, Google Cloud Platform started an unexpected maintenance event on the primary Postgres database. During maintenance events, failover is not possible. This meant that the primary database was unavailable for read and writes, causing Deno Deploy services that access this database to fail.

After the maintenance event ended, the database server restarted automatically, and all services that were using the primary database were able to recover.

Impact

During the 35 minute window, requests to Deno Deploy projects failed, including requests to deno.land/x and deno.land/std. Deno programs trying to download modules from /x or /std experienced failures. The Deno Deploy management dashboard at https://dash.deno.com/ and Deno Deploy GitHub integration were also unavailable.

What’s next?

We are in contact with GCP to determine the root cause of this maintenance event, and why the database server took so long to recover. As a temporary measure, we have halted scheduled database maintenance until we have determined a permanent solution to prevent outages like these. Additionally we are investigating solutions to making our services more resilient against primary database failures.