# timeout

Published articles for timeout.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## How to operate shared platforms safely at agent scale

DevFeed: [How to operate shared platforms safely at agent scale](<https://devfeed.tech/articles/how-to-operate-shared-platforms-safely-at-agent-scale-26970.md>)

Original publisher: [Read original article](<https://www.datadoghq.com/blog/operating-shared-platforms-agent-scale/>)

Author: Candace Shamieh; T Zhang; Gabriele Baldoni

Published: 2026-09-15T00:00:00Z

Content type: article

Language: en

Sources: [Datadog | The Monitor blog](<https://devfeed.tech/sources/datadog-the-monitor-blog.md>)

Topics: [Platform Engineering](<https://devfeed.tech/topics/platform-engineering.md>), [Loop Engineering](<https://devfeed.tech/topics/loop-engineering.md>), [AI Agent](<https://devfeed.tech/topics/ai-agent.md>), [sdlc](<https://devfeed.tech/topics/sdlc.md>), [Latency](<https://devfeed.tech/topics/latency.md>), [Low Latency](<https://devfeed.tech/topics/low-latency.md>), [Concurrency](<https://devfeed.tech/topics/concurrency.md>), [Software](<https://devfeed.tech/topics/software.md>)

Tags: [agent](<https://devfeed.tech/tags/agent.md>), [agent-observability](<https://devfeed.tech/tags/agent-observability.md>), [agentic-workflows](<https://devfeed.tech/tags/agentic-workflows.md>), [agents](<https://devfeed.tech/tags/agents.md>), [ai](<https://devfeed.tech/tags/ai.md>), [ai-agent](<https://devfeed.tech/tags/ai-agent.md>), [ci](<https://devfeed.tech/tags/ci.md>), [concurrency](<https://devfeed.tech/tags/concurrency.md>), [latency](<https://devfeed.tech/tags/latency.md>), [low-latency](<https://devfeed.tech/tags/low-latency.md>), [operational](<https://devfeed.tech/tags/operational.md>), [performance](<https://devfeed.tech/tags/performance.md>), [platform-engineering](<https://devfeed.tech/tags/platform-engineering.md>), [platforms](<https://devfeed.tech/tags/platforms.md>), [queue](<https://devfeed.tech/tags/queue.md>), [recovery](<https://devfeed.tech/tags/recovery.md>), [timeout](<https://devfeed.tech/tags/timeout.md>)

### AI overview

This Datadog article explains how platform teams can operate shared platforms safely as AI agent workloads scale across teams. It discusses modeling demand across agent trajectories, planning capacity across dependencies such as CI queues and sandbox pools, handling contention and recovery behavior, and preserving control across system boundaries.

### Source excerpt

Learn how Datadog models agent demand, allocates capacity under contention, and preserves control as AI agent workloads scale across shared platforms.

## 【kube-apiserver】Admission 链概览：内置插件顺序与 webhook 边界

DevFeed: [【kube-apiserver】Admission 链概览：内置插件顺序与 webhook 边界](<https://devfeed.tech/articles/kube-apiserver-admission-webhook-33964.md>)

Original publisher: [Read original article](<https://quant67.com/post/apiserver/08-admission-chain/08-admission-chain.html>)

Author: Liao Tonglang

Published: 2026-08-28T00:00:00Z

Content type: tutorial

Language: zh

Sources: [土法炼钢 - 系统与基础设施](<https://devfeed.tech/sources/source-4.md>)

Topics: [Kubernetes](<https://devfeed.tech/topics/kubernetes.md>)

Tags: [admission](<https://devfeed.tech/tags/admission.md>), [api](<https://devfeed.tech/tags/api.md>), [apiserver](<https://devfeed.tech/tags/apiserver.md>), [authz](<https://devfeed.tech/tags/authz.md>), [controllers](<https://devfeed.tech/tags/controllers.md>), [distributed](<https://devfeed.tech/tags/distributed.md>), [kubernetes](<https://devfeed.tech/tags/kubernetes.md>), [mutating](<https://devfeed.tech/tags/mutating.md>), [namespace-lifecycle](<https://devfeed.tech/tags/namespace-lifecycle.md>), [openapi](<https://devfeed.tech/tags/openapi.md>), [resourcequota](<https://devfeed.tech/tags/resourcequota.md>), [timeout](<https://devfeed.tech/tags/timeout.md>), [v1-30-3](<https://devfeed.tech/tags/v1-30-3.md>), [validating](<https://devfeed.tech/tags/validating.md>), [webhook](<https://devfeed.tech/tags/webhook.md>)

### AI overview

This tutorial explains the Kubernetes v1.30.3 admission chain in kube-apiserver. It places Admission between authorization and storage, describes the Mutating-then-Validating order, and covers built-in plugins, webhooks, timeout behavior, and fail-open versus fail-closed considerations.

### Source excerpt

钉 Kubernetes v1.30.3 Admission 链的阶段位置、Mutating 与 Validating 两阶段顺序、内置插件注册路径与典型示例、webhook 边界与 timeout 语义，以及 fail-open vs fail-closed 的工程争议。

## 【kube-apiserver】Watch 路径（服务端）：长连接、410 Gone 与 timeout

DevFeed: [【kube-apiserver】Watch 路径（服务端）：长连接、410 Gone 与 timeout](<https://devfeed.tech/articles/kube-apiserver-watch-410-gone-timeout-33963.md>)

Original publisher: [Read original article](<https://quant67.com/post/apiserver/07-watch-server/07-watch-server.html>)

Author: Liao Tonglang

Published: 2026-08-28T00:00:00Z

Content type: article

Language: zh

Sources: [土法炼钢 - 系统与基础设施](<https://devfeed.tech/sources/source-4.md>)

Topics: [Kubernetes](<https://devfeed.tech/topics/kubernetes.md>), [HTTP](<https://devfeed.tech/topics/http.md>), [kubectl](<https://devfeed.tech/topics/kubectl.md>)

Tags: [410-gone](<https://devfeed.tech/tags/410-gone.md>), [apiserver](<https://devfeed.tech/tags/apiserver.md>), [bookmark](<https://devfeed.tech/tags/bookmark.md>), [cacher](<https://devfeed.tech/tags/cacher.md>), [distributed](<https://devfeed.tech/tags/distributed.md>), [etcd](<https://devfeed.tech/tags/etcd.md>), [etcd3](<https://devfeed.tech/tags/etcd3.md>), [informer](<https://devfeed.tech/tags/informer.md>), [kubernetes](<https://devfeed.tech/tags/kubernetes.md>), [resourceversion](<https://devfeed.tech/tags/resourceversion.md>), [rest](<https://devfeed.tech/tags/rest.md>), [timeout](<https://devfeed.tech/tags/timeout.md>), [v1-30-3](<https://devfeed.tech/tags/v1-30-3.md>), [watch](<https://devfeed.tech/tags/watch.md>)

### AI overview

This article explains the Kubernetes v1.30.3 apiserver Watch path, from the REST handler through cacher and etcd3 watchers. It distinguishes 410 Gone caused by cacher ring-buffer eviction from errors propagated from etcd compaction, and covers resourceVersion semantics, timeouts, bookmarks, connection lifecycle, and the boundary with client-go Informer.

### Source excerpt

钉 Kubernetes v1.30.3 服务端 Watch 路径：从 REST handler 到 cacher/etcd3 watcher 的建立过程、resourceVersion=0 与具体 RV 的语义差异、410 Gone 与 etcd ErrCompacted 的映射、bookmark 推送与连接生命周期，以及与 client-go Informer 的边界。

## 【kube-apiserver】Mutating / Validating Webhook：timeout、failurePolicy 与可用性门

DevFeed: [【kube-apiserver】Mutating / Validating Webhook：timeout、failurePolicy 与可用性门](<https://devfeed.tech/articles/kube-apiserver-mutating-validating-webhook-timeout-failurepolicy-33965.md>)

Original publisher: [Read original article](<https://quant67.com/post/apiserver/09-webhooks/09-webhooks.html>)

Author: Liao Tonglang

Published: 2026-08-28T00:00:00Z

Content type: tutorial

Language: zh

Sources: [土法炼钢 - 系统与基础设施](<https://devfeed.tech/sources/source-4.md>)

Topics: [Kubernetes](<https://devfeed.tech/topics/kubernetes.md>), [configuration](<https://devfeed.tech/topics/configuration.md>), [dry-run](<https://devfeed.tech/topics/dry-run.md>), [TLS (Transport Layer Security)](<https://devfeed.tech/topics/tls.md>), [API](<https://devfeed.tech/topics/api.md>)

Tags: [admission](<https://devfeed.tech/tags/admission.md>), [api](<https://devfeed.tech/tags/api.md>), [apiserver](<https://devfeed.tech/tags/apiserver.md>), [cel](<https://devfeed.tech/tags/cel.md>), [configuration](<https://devfeed.tech/tags/configuration.md>), [distributed](<https://devfeed.tech/tags/distributed.md>), [kubernetes](<https://devfeed.tech/tags/kubernetes.md>), [kyverno](<https://devfeed.tech/tags/kyverno.md>), [mutating](<https://devfeed.tech/tags/mutating.md>), [timeout](<https://devfeed.tech/tags/timeout.md>), [tls](<https://devfeed.tech/tags/tls.md>), [v1-30-3](<https://devfeed.tech/tags/v1-30-3.md>), [validating](<https://devfeed.tech/tags/validating.md>), [webhook](<https://devfeed.tech/tags/webhook.md>)

### AI overview

A tutorial on configuring and troubleshooting Kubernetes v1.30.3 mutating and validating admission webhooks. It explains configuration fields, timeout and failurePolicy behavior, production availability requirements, reinvocation and idempotency, CEL ValidatingAdmissionPolicy boundaries, and an evidence-based troubleshooting approach. It emphasizes that slow webhooks add latency to the admission path rather than indicating etcd lag.

### Source excerpt

钉 K8s v1.30.3 的 MutatingWebhookConfiguration / ValidatingWebhookConfiguration v1：timeoutSeconds、failurePolicy、sideEffects、reinvocationPolicy 字段语义；webhook 慢如何表现为写路径延迟而非 etcd lag；生产可用性门选取；CEL ValidatingAdmissionPolicy 作为内置替代路径；排障证据包。

## 【kube-apiserver】APF 与 max-in-flight：公平排队、504 与 etcd lag 分列

DevFeed: [【kube-apiserver】APF 与 max-in-flight：公平排队、504 与 etcd lag 分列](<https://devfeed.tech/articles/kube-apiserver-apf-max-in-flight-504-etcd-lag-33968.md>)

Original publisher: [Read original article](<https://quant67.com/post/apiserver/12-apf/12-apf.html>)

Author: Liao Tonglang

Published: 2026-08-28T00:00:00Z

Content type: article

Language: zh

Sources: [土法炼钢 - 系统与基础设施](<https://devfeed.tech/sources/source-4.md>)

Topics: [Kubernetes](<https://devfeed.tech/topics/kubernetes.md>), [API](<https://devfeed.tech/topics/api.md>), [SRE](<https://devfeed.tech/topics/sre.md>), [Linux](<https://devfeed.tech/topics/linux.md>)

Tags: [apf](<https://devfeed.tech/tags/apf.md>), [api](<https://devfeed.tech/tags/api.md>), [apiserver](<https://devfeed.tech/tags/apiserver.md>), [distributed](<https://devfeed.tech/tags/distributed.md>), [etcd](<https://devfeed.tech/tags/etcd.md>), [fairness](<https://devfeed.tech/tags/fairness.md>), [fairqueuing](<https://devfeed.tech/tags/fairqueuing.md>), [flowcontrol](<https://devfeed.tech/tags/flowcontrol.md>), [k8s](<https://devfeed.tech/tags/k8s.md>), [kubernetes](<https://devfeed.tech/tags/kubernetes.md>), [lag](<https://devfeed.tech/tags/lag.md>), [max-in-flight](<https://devfeed.tech/tags/max-in-flight.md>), [priority](<https://devfeed.tech/tags/priority.md>), [timeout](<https://devfeed.tech/tags/timeout.md>), [v1-30-3](<https://devfeed.tech/tags/v1-30-3.md>)

### AI overview

This article explains how Kubernetes v1.30.3 protects kube-apiserver from overload through API Priority and Fairness (APF) and the older max-in-flight limits. It distinguishes 429 responses, APF queue timeouts that can produce 504 responses before storage is reached, etcd latency, and admission webhook delays, and describes APF's FlowSchema, PriorityLevelConfiguration, fair queuing, and shuffle sharding mechanisms.

### Source excerpt

钉 K8s v1.30.3 的 API Priority and Fairness（APF）：FlowSchema 匹配、PriorityLevelConfiguration 公平排队（SFVR）、与旧 max-in-flight flag 的共存关系；429/timeout/504 在 APF 排队、etcd_request_duration_seconds、Admission Webhook 三轴的分列；pkg/util/flowcontrol 路径；APF 与简单 max-in-flight 的运维复杂度争论。

## Investigating Redis Client Failures After a Node Loss at hh.ru

DevFeed: [Investigating Redis Client Failures After a Node Loss at hh.ru](<https://devfeed.tech/articles/redis-30674.md>)

Original publisher: [Read original article](<https://habr.com/ru/companies/hh/articles/1074194/>)

Author: nicholasgribanov (hh.ru)

Published: 2026-08-26T05:30:49Z

Content type: article

Language: ru

Sources: [HeadHunter RU](<https://devfeed.tech/sources/headhunter-ru.md>)

Topics: [Redis](<https://devfeed.tech/topics/redis.md>)

Tags: [consul](<https://devfeed.tech/tags/consul.md>), [downtime](<https://devfeed.tech/tags/downtime.md>), [java](<https://devfeed.tech/tags/java.md>), [jedis](<https://devfeed.tech/tags/jedis.md>), [redis](<https://devfeed.tech/tags/redis.md>), [sre](<https://devfeed.tech/tags/sre.md>), [tag-1d4e49052118](<https://devfeed.tech/tags/tag-1d4e49052118.md>), [tag-68e701e78517](<https://devfeed.tech/tags/tag-68e701e78517.md>), [tag-b0a411324cb6](<https://devfeed.tech/tags/tag-b0a411324cb6.md>), [tag-b92bf5906bbd](<https://devfeed.tech/tags/tag-b92bf5906bbd.md>), [tag-dfac9042ce7b](<https://devfeed.tech/tags/tag-dfac9042ce7b.md>), [timeout](<https://devfeed.tech/tags/timeout.md>)

### AI overview

A Platform team at hh.ru investigates incidents in its internal Redis client, including a 57-minute outage after a Redis node was lost. The team used controlled-load testing, Jedis updates, timeout and pool experiments, new metrics, and logs to trace the failures to a code issue and improve client stability.

### Source excerpt

Пару лет назад мы устроили настоящее расследование серии инцидентов в поисках скрытого дефекта нашего Redis-клиента. Команда воспроизводила сбои под контролируемой нагрузкой, проверяла одну гипотезу за другой, обновляла Jedis, экспериментировала с таймаутами и размерами пулов -- но ничего не помогало. А помогли новые метрики и логи, настойчивость команды, ночные эксперименты и готовность разбирать поведение системы до последнего соединения. Получилась история с неожиданными поворотами, ложными следами и одной лишней строчкой кода в роли главного подозреваемого -- а её итогом стал Redis-клиент, который оказался устойчивее, чем был до начала расследования. Меня зовут Коля Грибанов, я тимлид команды "Платформа" в hh.ru. В статье расскажу, почему потеря одной ноды Redis вызывала шторм из десятков тысяч соединений, и как мы шаг за шагом искали причину инцидентов. Читать далее

## ADD COLUMN is not always free, and the lock queue is what takes you down

DevFeed: [ADD COLUMN is not always free, and the lock queue is what takes you down](<https://devfeed.tech/articles/add-column-is-not-always-free-and-the-lock-queue-is-what-takes-you-down-39595.md>)

Original publisher: [Read original article](<https://ankit-rana.com/logs/43-add-column-is-not-always-free/>)

Author: hello@ankit-rana.com

Published: 2026-08-26T00:00:00Z

Content type: article

Language: en

Sources: [Ankit Rana | Mechanical Sympathy](<https://devfeed.tech/sources/ankit-rana-mechanical-sympathy.md>)

Topics: [PostgreSQL](<https://devfeed.tech/topics/postgresql.md>), [incident](<https://devfeed.tech/topics/incident.md>), [Query (disambiguation)](<https://devfeed.tech/topics/query.md>), [migration](<https://devfeed.tech/topics/migration.md>), [MySQL](<https://devfeed.tech/topics/mysql.md>)

Tags: [ddl](<https://devfeed.tech/tags/ddl.md>), [incident](<https://devfeed.tech/tags/incident.md>), [locking](<https://devfeed.tech/tags/locking.md>), [migration](<https://devfeed.tech/tags/migration.md>), [migrations](<https://devfeed.tech/tags/migrations.md>), [mysql](<https://devfeed.tech/tags/mysql.md>), [postgresql](<https://devfeed.tech/tags/postgresql.md>), [query](<https://devfeed.tech/tags/query.md>), [queues](<https://devfeed.tech/tags/queues.md>), [schema-design](<https://devfeed.tech/tags/schema-design.md>), [timeout](<https://devfeed.tech/tags/timeout.md>)

### AI overview

Adding a nullable column can cause an outage even when the schema change itself is nearly instantaneous. In PostgreSQL, ALTER TABLE may wait for a long-running query, and subsequent queries can queue behind the waiting lock request. Setting a short lock_timeout and retrying can prevent the migration from taking down the table.

### Source excerpt

Modern PostgreSQL adds a column with a default as a metadata change, so the table is never rewritten and the migration itself is instant. The outage comes from lock acquisition instead: ALTER TABLE needs an ACCESS EXCLUSIVE lock, and while it waits behind one long-running query, every subsequent query queues behind the waiting ALTER because the lock queue is ordered. Setting lock_timeout to a couple of seconds and retrying converts that from an outage into a no-op.

## Networking Concepts Every DevOps Engineer Needs to Know

DevFeed: [Networking Concepts Every DevOps Engineer Needs to Know](<https://devfeed.tech/articles/networking-concepts-every-devops-engineer-needs-to-know-17488.md>)

Original publisher: [Read original article](<https://kodekloud.com/blog/networking-concepts-every-devops-engineer-needs/>)

Author: Pramodh Kumar M

Published: 2026-08-14T17:14:08Z

Content type: tutorial

Language: en

Sources: [Kubernetes - KodeKloud Blog | DevOps, Cloud, Kubernetes, AI Tutorials & More](<https://devfeed.tech/sources/kubernetes-kodekloud-blog-devops-cloud-kubernetes-ai-tutorials-more.md>)

Topics: [networking](<https://devfeed.tech/topics/networking.md>), [DevOps](<https://devfeed.tech/topics/devops.md>), [browser](<https://devfeed.tech/topics/browser.md>), [Kubernetes](<https://devfeed.tech/topics/kubernetes.md>)

Tags: [browser](<https://devfeed.tech/tags/browser.md>), [cidr-and-subnets](<https://devfeed.tech/tags/cidr-and-subnets.md>), [cloud](<https://devfeed.tech/tags/cloud.md>), [conntrack](<https://devfeed.tech/tags/conntrack.md>), [devops](<https://devfeed.tech/tags/devops.md>), [dns](<https://devfeed.tech/tags/dns.md>), [ephemeral-ports](<https://devfeed.tech/tags/ephemeral-ports.md>), [kubernetes](<https://devfeed.tech/tags/kubernetes.md>), [kubernetes-networking](<https://devfeed.tech/tags/kubernetes-networking.md>), [linux](<https://devfeed.tech/tags/linux.md>), [mtu-mismatch](<https://devfeed.tech/tags/mtu-mismatch.md>), [nat-and-snat](<https://devfeed.tech/tags/nat-and-snat.md>), [network](<https://devfeed.tech/tags/network.md>), [network-troubleshooting-commands](<https://devfeed.tech/tags/network-troubleshooting-commands.md>), [networking](<https://devfeed.tech/tags/networking.md>), [networking-concepts-for-devops](<https://devfeed.tech/tags/networking-concepts-for-devops.md>), [osi-model-for-devops](<https://devfeed.tech/tags/osi-model-for-devops.md>), [platform-engineering](<https://devfeed.tech/tags/platform-engineering.md>), [proxy](<https://devfeed.tech/tags/proxy.md>), [routing](<https://devfeed.tech/tags/routing.md>), [tcp](<https://devfeed.tech/tags/tcp.md>), [tcp-handshake](<https://devfeed.tech/tags/tcp-handshake.md>), [timeout](<https://devfeed.tech/tags/timeout.md>), [tls-handshake](<https://devfeed.tech/tags/tls-handshake.md>), [vpn](<https://devfeed.tech/tags/vpn.md>)

### AI overview

A tutorial follows a request from a browser to a container to explain networking concepts relevant to DevOps engineers. It maps symptoms such as connection refusal, timeouts, resets, and packet-size-related hangs to network layers and discusses diagnosis across VPN gateways, Kubernetes, and other infrastructure.

### Source excerpt

Follow one request from a browser to a container and back. Every networking concept you actually need shows up on that path, in order, and so does every place it breaks.

## Your SQS consumer can hang forever by default

DevFeed: [Your SQS consumer can hang forever by default](<https://devfeed.tech/articles/your-sqs-consumer-can-hang-forever-by-default-17823.md>)

Original publisher: [Read original article](<https://encore.dev/blog/message-queue-hangs>)

Author: Ivan Cernja

Published: 2026-07-28T00:00:00Z

Content type: article

Language: en

Sources: [Encore Updates](<https://devfeed.tech/sources/encore-updates.md>)

Topics: [Amazon Simple Queue Service (SQS)](<https://devfeed.tech/topics/amazon-simple-queue-service-sqs.md>), [SDK](<https://devfeed.tech/topics/sdk.md>), [Rust](<https://devfeed.tech/topics/rust.md>), [Amazon Web Services](<https://devfeed.tech/topics/aws.md>)

Tags: [aws](<https://devfeed.tech/tags/aws.md>), [health-check](<https://devfeed.tech/tags/health-check.md>), [queue](<https://devfeed.tech/tags/queue.md>), [retry](<https://devfeed.tech/tags/retry.md>), [rust](<https://devfeed.tech/tags/rust.md>), [sdk](<https://devfeed.tech/tags/sdk.md>), [sqs](<https://devfeed.tech/tags/sqs.md>), [tcp](<https://devfeed.tech/tags/tcp.md>), [timeout](<https://devfeed.tech/tags/timeout.md>)

### AI overview

The article explains that the AWS Rust SDK has no request timeout by default. A failed or silently dropped connection can leave an SQS receive waiting indefinitely, stopping a sequential consumer loop while the process and health check still appear healthy. It describes fixing the issue with a per-attempt timeout.

### Source excerpt

The AWS Rust SDK ships no request timeout by default, so one SQS receive on a dead connection can hang a whole consumer with nothing in the logs.

## Timers, Timeouts, and the Art of Waiting in Temporal

DevFeed: [Timers, Timeouts, and the Art of Waiting in Temporal](<https://devfeed.tech/articles/timers-timeouts-and-the-art-of-waiting-in-temporal-36073.md>)

Original publisher: [Read original article](<https://temporal.io/blog/timers-timeouts-and-the-art-of-waiting-in-temporal>)

Author: Joshua Smith

Published: 2026-06-30T00:00:00Z

Content type: tutorial

Language: en

Sources: [Temporal Blog](<https://devfeed.tech/sources/temporal-blog.md>)

Topics: [SDKs](<https://devfeed.tech/topics/sdks.md>), [Code](<https://devfeed.tech/topics/code.md>), [Processes](<https://devfeed.tech/topics/processes.md>)

Tags: [concurrent](<https://devfeed.tech/tags/concurrent.md>), [crashes](<https://devfeed.tech/tags/crashes.md>), [deployment](<https://devfeed.tech/tags/deployment.md>), [developers](<https://devfeed.tech/tags/developers.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [scaling](<https://devfeed.tech/tags/scaling.md>), [sdks](<https://devfeed.tech/tags/sdks.md>), [temporal-concepts](<https://devfeed.tech/tags/temporal-concepts.md>), [timeout](<https://devfeed.tech/tags/timeout.md>), [waiting](<https://devfeed.tech/tags/waiting.md>)

### AI overview

This tutorial explains that Temporal timers provide durable business-logic waiting, while Activity and Workflow timeouts detect failures. It describes how timers survive Worker or process failures and can support large numbers of concurrent waits.

### Source excerpt

Timers and timeouts look similar in Temporal but solve different problems. Learn how each one works and how to choose the right tool for durable waiting.

## 3 Resilience Patterns That Keep a Backend Service Up When Its Dependencies Aren't

DevFeed: [3 Resilience Patterns That Keep a Backend Service Up When Its Dependencies Aren't](<https://devfeed.tech/articles/3-resilience-patterns-that-keep-a-backend-service-up-when-its-dependencies-aren-t-18117.md>)

Original publisher: [Read original article](<https://thetshaped.dev/p/resilience-patterns-keep-backend-nodejs-service-up-production-timeout-retry-backoff-jitter-circuit-breaker>)

Author: The T-Shaped Dev

Published: 2026-06-27T10:19:01Z

Content type: tutorial

Language: en

Sources: [The T-Shaped Dev](<https://devfeed.tech/sources/the-t-shaped-dev.md>)

Topics: [Resilience](<https://devfeed.tech/topics/resilience.md>), [Back end](<https://devfeed.tech/topics/backend.md>), [API](<https://devfeed.tech/topics/api.md>)

Tags: [backend](<https://devfeed.tech/tags/backend.md>), [circuit](<https://devfeed.tech/tags/circuit.md>), [dependencies](<https://devfeed.tech/tags/dependencies.md>), [patterns](<https://devfeed.tech/tags/patterns.md>), [resilience](<https://devfeed.tech/tags/resilience.md>), [retry](<https://devfeed.tech/tags/retry.md>), [timeout](<https://devfeed.tech/tags/timeout.md>)

### AI overview

A tutorial on using timeouts, retries with backoff, and circuit breakers to limit cascading failures in backend services when dependencies become slow or unreliable. It explains how unbounded waiting can exhaust server resources and describes how to layer these resilience patterns.

### Source excerpt

Timeout, retry with backoff, and circuit breaker -- what each one actually does, and the order to stack them.

## Sentry's new AI grouping model reduces duplicate issues and incorrect merges

DevFeed: [Sentry's new AI grouping model reduces duplicate issues and incorrect merges](<https://devfeed.tech/articles/better-faster-less-wrong-enhancing-issue-grouping-24096.md>)

Original publisher: [Read original article](<https://blog.sentry.io/enhancing-issue-grouping/>)

Author: Kush Dubey; Yuval Mandelboum

Published: 2026-06-12T09:00:00Z

Content type: article

Language: en

Sources: [Sentry Blog](<https://devfeed.tech/sources/sentry-blog.md>)

Topics: [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [Machine learning](<https://devfeed.tech/topics/machine-learning.md>), [Embeddings](<https://devfeed.tech/topics/embeddings.md>), [Algorithm](<https://devfeed.tech/topics/algorithm.md>), [GPU](<https://devfeed.tech/topics/gpu.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [algorithm](<https://devfeed.tech/tags/algorithm.md>), [connection-pool](<https://devfeed.tech/tags/connection-pool.md>), [embeddings](<https://devfeed.tech/tags/embeddings.md>), [gpu](<https://devfeed.tech/tags/gpu.md>), [issue](<https://devfeed.tech/tags/issue.md>), [ml](<https://devfeed.tech/tags/ml.md>), [model](<https://devfeed.tech/tags/model.md>), [production](<https://devfeed.tech/tags/production.md>), [server](<https://devfeed.tech/tags/server.md>), [timeout](<https://devfeed.tech/tags/timeout.md>)

### AI overview

Sentry describes an upgraded AI model for grouping errors into issues. The model prevents 20% more duplicate issues and halves incorrect merges, separating errors with distinct root causes that the previous model combined.

### Source excerpt

Sentry's new AI grouping model prevents 20% more duplicate issues while cutting incorrect merges in half. Here's how we trained and deployed it.

## Bad Retries Can Break Good Systems

DevFeed: [Bad Retries Can Break Good Systems](<https://devfeed.tech/articles/bad-retries-can-break-good-systems-17949.md>)

Original publisher: [Read original article](<https://newsletter.systemdesignclassroom.com/p/bad-retries-can-break-good-systems>)

Author: Raul Junco

Published: 2026-05-09T11:45:53Z

Content type: tutorial

Language: en

Sources: [System Design Classroom](<https://devfeed.tech/sources/system-design-classroom.md>)

Topics: [systems](<https://devfeed.tech/topics/systems.md>), [Back end](<https://devfeed.tech/topics/backend.md>), [distributed-systems](<https://devfeed.tech/topics/distributed-systems.md>), [incident](<https://devfeed.tech/topics/incident.md>), [Latency](<https://devfeed.tech/topics/latency.md>)

Tags: [backend](<https://devfeed.tech/tags/backend.md>), [circuit](<https://devfeed.tech/tags/circuit.md>), [gateway](<https://devfeed.tech/tags/gateway.md>), [incident](<https://devfeed.tech/tags/incident.md>), [latency](<https://devfeed.tech/tags/latency.md>), [retry](<https://devfeed.tech/tags/retry.md>), [timeout](<https://devfeed.tech/tags/timeout.md>)

### AI overview

A practical guide to handling transient faults in backend and distributed systems. It explains that uncontrolled retries can increase pressure on slow or overloaded dependencies and recommends backoff, jitter, retry budgets, idempotency, and circuit breakers to reduce user-facing incidents.

### Source excerpt

A practical guide to using backoff, jitter, retry budgets, idempotency, and circuit breakers in backend systems.

## Top Resiliency Patterns for Developers

DevFeed: [Top Resiliency Patterns for Developers](<https://devfeed.tech/articles/top-resiliency-patterns-for-developers-34691.md>)

Original publisher: [Read original article](<https://newsletter.systemdesigncodex.com/p/top-resiliency-patterns-for-developers>)

Author: Saurabh Dashora

Published: 2026-04-21T06:08:56Z

Content type: tutorial

Language: en

Sources: [System Design Codex](<https://devfeed.tech/sources/system-design-codex.md>)

Topics: [resiliency](<https://devfeed.tech/topics/resiliency.md>), [distributed-systems](<https://devfeed.tech/topics/distributed-systems.md>), [circuit](<https://devfeed.tech/topics/circuit.md>), [Availability](<https://devfeed.tech/topics/availability.md>), [Latency](<https://devfeed.tech/topics/latency.md>), [Scalability](<https://devfeed.tech/topics/scalability.md>), [Architecture & Design](<https://devfeed.tech/topics/architecture-design.md>)

Tags: [availability](<https://devfeed.tech/tags/availability.md>), [circuit](<https://devfeed.tech/tags/circuit.md>), [distributed-systems](<https://devfeed.tech/tags/distributed-systems.md>), [latency](<https://devfeed.tech/tags/latency.md>), [monitoring](<https://devfeed.tech/tags/monitoring.md>), [resiliency](<https://devfeed.tech/tags/resiliency.md>), [scalability](<https://devfeed.tech/tags/scalability.md>), [timeout](<https://devfeed.tech/tags/timeout.md>)

### AI overview

A quick guide to resiliency patterns for distributed systems. It introduces downstream and upstream patterns, then explains timeouts, circuit breakers, and retries with exponential backoff as ways to limit cascading failures and help downstream services recover.

### Source excerpt

Quick Guide

## How to Reduce Payment Declines and Recover More Revenue

DevFeed: [How to Reduce Payment Declines and Recover More Revenue](<https://devfeed.tech/articles/how-to-reduce-payment-declines-and-recover-more-revenue-10307.md>)

Original publisher: [Read original article](<https://dodopayments.com/blogs/reduce-payment-declines/>)

Author: Ayush Agarwal

Published: 2026-04-13T00:00:00Z

Content type: tutorial

Language: en

Sources: [Dodo Payments Blog](<https://devfeed.tech/sources/dodo-payments-blog.md>)

Topics: [Software as a service](<https://devfeed.tech/topics/saas.md>), [Transactions](<https://devfeed.tech/topics/transactions.md>)

Tags: [churn](<https://devfeed.tech/tags/churn.md>), [customer](<https://devfeed.tech/tags/customer.md>), [fraud](<https://devfeed.tech/tags/fraud.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [implement](<https://devfeed.tech/tags/implement.md>), [payments](<https://devfeed.tech/tags/payments.md>), [recovery](<https://devfeed.tech/tags/recovery.md>), [reduce](<https://devfeed.tech/tags/reduce.md>), [retry](<https://devfeed.tech/tags/retry.md>), [revenue](<https://devfeed.tech/tags/revenue.md>), [saas](<https://devfeed.tech/tags/saas.md>), [strategy](<https://devfeed.tech/tags/strategy.md>), [subscription](<https://devfeed.tech/tags/subscription.md>), [timeout](<https://devfeed.tech/tags/timeout.md>), [velocity](<https://devfeed.tech/tags/velocity.md>)

### AI overview

This guide explains how payment declines affect subscription businesses, including their contribution to involuntary churn. It distinguishes soft declines from hard declines and outlines strategies such as smart retry logic to recover recurring revenue.

### Source excerpt

Payment declines silently drain SaaS revenue. Learn 12 proven strategies to reduce false declines, retry failed payments, and recover lost recurring revenue.

## Instrumenting AI Agents: Why the Apology Metric Is a First Class Reliability Signal

DevFeed: [Instrumenting AI Agents: Why the Apology Metric Is a First Class Reliability Signal](<https://devfeed.tech/articles/instrumenting-ai-agents-why-the-apology-metric-is-a-first-class-reliability-signal-39575.md>)

Original publisher: [Read original article](<https://ankit-rana.com/logs/23-vector-db-vs-graphrag-global-sense-making/>)

Author: hello@ankit-rana.com

Published: 2026-03-21T00:00:00Z

Content type: article

Language: en

Sources: [Ankit Rana | Mechanical Sympathy](<https://devfeed.tech/sources/ankit-rana-mechanical-sympathy.md>)

Topics: [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [AI Agent](<https://devfeed.tech/topics/ai-agent.md>), [reliability](<https://devfeed.tech/topics/reliability.md>), [agent observability](<https://devfeed.tech/topics/agent-observability.md>), [context](<https://devfeed.tech/topics/context.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [ai-agents](<https://devfeed.tech/tags/ai-agents.md>), [api](<https://devfeed.tech/tags/api.md>), [backend](<https://devfeed.tech/tags/backend.md>), [context](<https://devfeed.tech/tags/context.md>), [dependency](<https://devfeed.tech/tags/dependency.md>), [distributed-systems](<https://devfeed.tech/tags/distributed-systems.md>), [inference](<https://devfeed.tech/tags/inference.md>), [json](<https://devfeed.tech/tags/json.md>), [kv-cache](<https://devfeed.tech/tags/kv-cache.md>), [latency](<https://devfeed.tech/tags/latency.md>), [llm](<https://devfeed.tech/tags/llm.md>), [llmops](<https://devfeed.tech/tags/llmops.md>), [metric](<https://devfeed.tech/tags/metric.md>), [observability](<https://devfeed.tech/tags/observability.md>), [orchestration](<https://devfeed.tech/tags/orchestration.md>), [rag](<https://devfeed.tech/tags/rag.md>), [reliability](<https://devfeed.tech/tags/reliability.md>), [reliability-engineering](<https://devfeed.tech/tags/reliability-engineering.md>), [signal](<https://devfeed.tech/tags/signal.md>), [timeout](<https://devfeed.tech/tags/timeout.md>)

### AI overview

This article argues that AI agents can return HTTP 200 responses while still failing business tasks. It proposes tracking apology responses as a reliability signal to expose context starvation caused by stalled dependencies, timeouts, stale synchronization, dropped data, or payload truncation in retrieval and orchestration pipelines.

### Source excerpt

An AI agent that returns "I apologize, but I cannot find that order" ships an HTTP 200. Infrastructure dashboards call that healthy; the business calls it a failure. Tracking apology phrases as a first-class SLO surfaces context starvation, a stalled dependency, a timeout guard tripping, or silent payload truncation, none of which HTTP status codes and CPU graphs can see.

## Bigger Slugs and Greater Build Timeout Flexibility

DevFeed: [Bigger Slugs and Greater Build Timeout Flexibility](<https://devfeed.tech/articles/bigger-slugs-and-greater-build-timeout-flexibility-26378.md>)

Original publisher: [Read original article](<https://www.heroku.com/blog/bigger-slugs-and-greater-build-timeout-flexibility/>)

Author: Jesse Brown

Published: 2026-03-19T22:28:36Z

Content type: release

Language: en

Sources: [Heroku](<https://devfeed.tech/sources/heroku.md>)

Topics: [Heroku](<https://devfeed.tech/topics/heroku.md>), [Deployment](<https://devfeed.tech/topics/deployment.md>), [container](<https://devfeed.tech/topics/container.md>)

Tags: [buildpacks](<https://devfeed.tech/tags/buildpacks.md>), [deployment](<https://devfeed.tech/tags/deployment.md>), [developer](<https://devfeed.tech/tags/developer.md>), [dynos](<https://devfeed.tech/tags/dynos.md>), [heroku](<https://devfeed.tech/tags/heroku.md>), [news](<https://devfeed.tech/tags/news.md>), [platform-updates](<https://devfeed.tech/tags/platform-updates.md>), [timeout](<https://devfeed.tech/tags/timeout.md>)

### AI overview

Heroku increased the default maximum compressed app slug size from 500MB to 1GB and raised build compile timeouts. The update supports applications with large dependencies, while larger slugs may increase dyno boot times.

### Source excerpt

Modern applications, especially those leveraging AI and data-heavy libraries, need more room to breathe. To support these evolving stacks and reduce developer friction, we've increased the default maximum compressed slug size from 500MB to 1GB. Understanding app slugs and deployment App slugs are the container build artifacts produced by Heroku Buildpacks and run in dynos. [...] The post Bigger Slugs and Greater Build Timeout Flexibility appeared first on Heroku.

## On Metastable Failures and Interactions Between Systems

DevFeed: [On Metastable Failures and Interactions Between Systems](<https://devfeed.tech/articles/on-metastable-failures-and-interactions-between-systems-39550.md>)

Original publisher: [Read original article](<https://charap.co/on-metastable-failures-and-interactions-between-systems/>)

Author: Aleksey Charapko

Published: 2025-12-24T21:26:49Z

Content type: opinion

Language: en

Sources: [Aleksey Charapko](<https://devfeed.tech/sources/aleksey-charapko.md>)

Topics: [systems](<https://devfeed.tech/topics/systems.md>), [retry](<https://devfeed.tech/topics/retry.md>), [clients](<https://devfeed.tech/topics/clients.md>), [servers](<https://devfeed.tech/topics/servers.md>), [Latency](<https://devfeed.tech/topics/latency.md>)

Tags: [clients](<https://devfeed.tech/tags/clients.md>), [fault-tolerance](<https://devfeed.tech/tags/fault-tolerance.md>), [latency](<https://devfeed.tech/tags/latency.md>), [load](<https://devfeed.tech/tags/load.md>), [metastabiilty](<https://devfeed.tech/tags/metastabiilty.md>), [other-thoughts](<https://devfeed.tech/tags/other-thoughts.md>), [performance](<https://devfeed.tech/tags/performance.md>), [retry](<https://devfeed.tech/tags/retry.md>), [server](<https://devfeed.tech/tags/server.md>), [signal](<https://devfeed.tech/tags/signal.md>), [state](<https://devfeed.tech/tags/state.md>), [systems](<https://devfeed.tech/tags/systems.md>), [timeout](<https://devfeed.tech/tags/timeout.md>)

### AI overview

The article explains metastable failures as self-sustaining performance failures caused by positive feedback loops. It uses retry storms to show how overload, latency, timeouts, and client retries can reinforce one another, and examines how ambiguous timeout signals make recovery more difficult.

### Source excerpt

I've written about metastable failures before. The topic has been picked up by a few different teams since the, all analyzing metastable failures more, while I apparently has been slacking off... Anyway, Metastable failures are self-sustaining performance failures that arise in systems due to a positive feedback loop triggered by an initial problem. This positive [...]

## How Interrupting Your Users Can Create Accessibility Concerns

DevFeed: [How Interrupting Your Users Can Create Accessibility Concerns](<https://devfeed.tech/articles/how-interrupting-your-users-can-create-accessibility-concerns-36126.md>)

Original publisher: [Read original article](<https://www.boia.org/blog/how-interrupting-your-users-can-create-accessibility-concerns>)

Author: Chris

Published: 2025-12-22T12:30:00Z

Content type: article

Language: en

Sources: [Blog-Main](<https://devfeed.tech/sources/blog-main.md>)

Topics: [Web Accessibility (a11y)](<https://devfeed.tech/topics/web-accessibility.md>), [Web Content Accessibility Guidelines](<https://devfeed.tech/topics/web-content-accessibility-guidelines.md>), [digital accessibility](<https://devfeed.tech/topics/digital-accessibility.md>), [Website](<https://devfeed.tech/topics/website.md>), [Users](<https://devfeed.tech/topics/users.md>), [notifications](<https://devfeed.tech/topics/notifications.md>)

Tags: [accessibility](<https://devfeed.tech/tags/accessibility.md>), [accessibility-guidelines](<https://devfeed.tech/tags/accessibility-guidelines.md>), [accessibility-ux](<https://devfeed.tech/tags/accessibility-ux.md>), [automatic](<https://devfeed.tech/tags/automatic.md>), [digital-accessibility](<https://devfeed.tech/tags/digital-accessibility.md>), [display](<https://devfeed.tech/tags/display.md>), [people-with-disabilities](<https://devfeed.tech/tags/people-with-disabilities.md>), [send](<https://devfeed.tech/tags/send.md>), [stop](<https://devfeed.tech/tags/stop.md>), [time](<https://devfeed.tech/tags/time.md>), [timeout](<https://devfeed.tech/tags/timeout.md>), [web-accessibility](<https://devfeed.tech/tags/web-accessibility.md>), [web-content-accessibility-guidelines](<https://devfeed.tech/tags/web-content-accessibility-guidelines.md>), [web-developers](<https://devfeed.tech/tags/web-developers.md>), [websites](<https://devfeed.tech/tags/websites.md>)

### AI overview

The article explains how dynamic website behavior, including unexpected notifications, automatic refreshes, and other interruptions, can create accessibility barriers for screen reader users and people with attention disorders. It discusses WCAG Success Criterion 2.2.4, which says interruptions can be postponed or suppressed except in emergencies, while noting that this Level AAA criterion is not generally required for conformance goals.

### Source excerpt

If you're building a dynamic website, there are plenty of valid reasons to interrupt your users. You might need to tell someone if their session is about to timeout, for example, or you might want your content to refresh periodically in order to show more up-to-date information.

## Kotlin Multiplatform test interceptors with Burst

DevFeed: [Kotlin Multiplatform test interceptors with Burst](<https://devfeed.tech/articles/kotlin-multiplatform-test-interceptors-with-burst-29006.md>)

Original publisher: [Read original article](<https://code.cash.app/burst-test-interceptors>)

Author: Jesse Wilson

Published: 2025-09-04T00:00:00Z

Content type: tutorial

Language: en

Sources: [Cash App Code Blog](<https://devfeed.tech/sources/cash-app-code-blog.md>)

Topics: [Kotlin Multiplatform](<https://devfeed.tech/topics/kotlin-multiplatform.md>), [Testing](<https://devfeed.tech/topics/testing.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [test](<https://devfeed.tech/topics/test.md>)

Tags: [http](<https://devfeed.tech/tags/http.md>), [junit](<https://devfeed.tech/tags/junit.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [kotlin-android](<https://devfeed.tech/tags/kotlin-android.md>), [kotlin-multiplatform](<https://devfeed.tech/tags/kotlin-multiplatform.md>), [multiplatform](<https://devfeed.tech/tags/multiplatform.md>), [okhttp](<https://devfeed.tech/tags/okhttp.md>), [snapshot](<https://devfeed.tech/tags/snapshot.md>), [test](<https://devfeed.tech/tags/test.md>), [testing](<https://devfeed.tech/tags/testing.md>), [tests](<https://devfeed.tech/tags/tests.md>), [timeout](<https://devfeed.tech/tags/timeout.md>)

### AI overview

This article introduces Burst 2.8's Kotlin Multiplatform test interceptors, an alternative to JUnit rules for reusing behavior across tests on Kotlin platforms. It also describes interception of suspending tests.

### Source excerpt

Interceptors are like JUnit rules, but for every Kotlin platform

## Keycloak 26.2.2 released

DevFeed: [Keycloak 26.2.2 released](<https://devfeed.tech/articles/keycloak-26-2-2-released-31698.md>)

Original publisher: [Read original article](<https://www.keycloak.org/2025/04/keycloak-2622-released>)

Author: Keycloak Team

Published: 2025-04-30T00:00:00Z

Content type: release

Language: en

Sources: [Keycloak Blog](<https://devfeed.tech/sources/keycloak-blog.md>)

Topics: [Keycloak](<https://devfeed.tech/topics/keycloak.md>), [Authentication](<https://devfeed.tech/topics/authentication.md>), [ci](<https://devfeed.tech/topics/ci.md>), [migration](<https://devfeed.tech/topics/migration.md>)

Tags: [bugs](<https://devfeed.tech/tags/bugs.md>), [changes](<https://devfeed.tech/tags/changes.md>), [ci](<https://devfeed.tech/tags/ci.md>), [cve](<https://devfeed.tech/tags/cve.md>), [fips](<https://devfeed.tech/tags/fips.md>), [idm](<https://devfeed.tech/tags/idm.md>), [kerberos](<https://devfeed.tech/tags/kerberos.md>), [keycloak](<https://devfeed.tech/tags/keycloak.md>), [keycloak-release](<https://devfeed.tech/tags/keycloak-release.md>), [ldap](<https://devfeed.tech/tags/ldap.md>), [migration](<https://devfeed.tech/tags/migration.md>), [openid-connect](<https://devfeed.tech/tags/openid-connect.md>), [release](<https://devfeed.tech/tags/release.md>), [saml](<https://devfeed.tech/tags/saml.md>), [sso](<https://devfeed.tech/tags/sso.md>), [tests](<https://devfeed.tech/tags/tests.md>), [timeout](<https://devfeed.tech/tags/timeout.md>), [verification](<https://devfeed.tech/tags/verification.md>)

### AI overview

Keycloak 26.2.2 was released on April 30, 2025. The release includes a configurable distribution startup timeout, CI FIPS crypto tests, and fixes for a two-factor authentication bypass and hostname verification issues.

### Source excerpt

To download the release go to Keycloak downloads. Upgrading Before upgrading refer to the migration guide for a complete list of changes. All resolved issues Enhancements #39142 Make distribution startup timeout configurable testsuite Bugs #39125 [Keycloak CI] - FIPS UT - Run crypto tests ci #39349 CVE-2025-3910 Two factor authentication bypass #39350 CVE-2025-3501 Keycloak hostname verification

## What to do about SQLITE\_BUSY errors despite setting a timeout

DevFeed: [What to do about SQLITE\_BUSY errors despite setting a timeout](<https://devfeed.tech/articles/what-to-do-about-sqlite-busy-errors-despite-setting-a-timeout-36239.md>)

Original publisher: [Read original article](<https://berthub.eu/articles/posts/a-brief-post-on-sqlite3-database-locked-despite-timeout/>)

Published: 2025-02-16T20:00:00Z

Content type: tutorial

Language: en

Sources: [Bert Hubert's writings](<https://devfeed.tech/sources/bert-hubert-s-writings.md>)

Topics: [SQLite](<https://devfeed.tech/topics/sqlite.md>), [Concurrency](<https://devfeed.tech/topics/concurrency.md>), [PostgreSQL](<https://devfeed.tech/topics/postgresql.md>)

Tags: [errors](<https://devfeed.tech/tags/errors.md>), [postgresql](<https://devfeed.tech/tags/postgresql.md>), [programming](<https://devfeed.tech/tags/programming.md>), [rsync](<https://devfeed.tech/tags/rsync.md>), [sqlite](<https://devfeed.tech/tags/sqlite.md>), [timeout](<https://devfeed.tech/tags/timeout.md>)

### AI overview

This article explains why SQLite can return SQLITE_BUSY despite a configured timeout. It recommends avoiding read-to-write transaction upgrades and using BEGIN IMMEDIATE, or starting the transaction with a write, while describing the concurrency behavior involved.

### Source excerpt

So I'm a huge SQLite fanboy and I use it for almost everything these days. Recently, the project added sqlite3_rsync which allows you to swiftly replicate your database to other servers (or to the same server if you want), and this really was the cherry on top for me. Last week however, I ran into one of my projects unexpectedly getting SQLITE_BUSY errors. And then someone urged me to run 'a real database' (PostgreSQL), and that hurt.

## Use Github with SSH on port 443

DevFeed: [Use Github with SSH on port 443](<https://devfeed.tech/articles/use-github-with-ssh-on-port-443-27684.md>)

Original publisher: [Read original article](<https://gagor.pro/2023/12/use-github-with-ssh-on-port-443/>)

Author: Tom

Published: 2023-12-26T00:00:00Z

Content type: tutorial

Language: en

Sources: [Tomasz Gągor](<https://devfeed.tech/sources/tomasz-gagor.md>)

Topics: [GitHub](<https://devfeed.tech/topics/github.md>), [OpenSSH](<https://devfeed.tech/topics/openssh.md>), [Firewall](<https://devfeed.tech/topics/firewall.md>)

Tags: [blocking](<https://devfeed.tech/tags/blocking.md>), [bypass-firewall-github](<https://devfeed.tech/tags/bypass-firewall-github.md>), [firewall](<https://devfeed.tech/tags/firewall.md>), [github](<https://devfeed.tech/tags/github.md>), [github-repository-access](<https://devfeed.tech/tags/github-repository-access.md>), [github-ssh-port-443](<https://devfeed.tech/tags/github-ssh-port-443.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [https](<https://devfeed.tech/tags/https.md>), [linux](<https://devfeed.tech/tags/linux.md>), [port](<https://devfeed.tech/tags/port.md>), [repository](<https://devfeed.tech/tags/repository.md>), [ssh](<https://devfeed.tech/tags/ssh.md>), [ssh-configuration-github](<https://devfeed.tech/tags/ssh-configuration-github.md>), [ssh-github-access](<https://devfeed.tech/tags/ssh-github-access.md>), [timeout](<https://devfeed.tech/tags/timeout.md>), [wifi](<https://devfeed.tech/tags/wifi.md>)

### AI overview

This tutorial explains how to use GitHub over SSH on port 443 when standard SSH access is blocked or times out, such as on hotel or public Wi-Fi networks. It describes configuring the connection to simulate HTTPS traffic so repositories can still be cloned, pulled, and pushed over SSH.

### Source excerpt

Learn how to use GitHub with SSH on port 443 to bypass firewall restrictions and ensure seamless repository access.

## Working with the new Idempotency Keys RFC

DevFeed: [Working with the new Idempotency Keys RFC](<https://devfeed.tech/articles/working-with-the-new-idempotency-keys-rfc-19075.md>)

Original publisher: [Read original article](<https://httptoolkit.com/blog/idempotency-keys/>)

Author: HTTP Toolkit; Phil Sturgeon

Published: 2023-12-12T15:00:00Z

Content type: tutorial

Language: en

Sources: [HTTP Toolkit](<https://devfeed.tech/sources/http-toolkit.md>)

Topics: [HTTP](<https://devfeed.tech/topics/http.md>), [Internet Engineering Task Force (IETF)](<https://devfeed.tech/topics/ietf.md>), [client](<https://devfeed.tech/topics/client.md>), [Server](<https://devfeed.tech/topics/server.md>), [stripe](<https://devfeed.tech/topics/stripe.md>)

Tags: [apis](<https://devfeed.tech/tags/apis.md>), [http](<https://devfeed.tech/tags/http.md>), [ietf](<https://devfeed.tech/tags/ietf.md>), [payment](<https://devfeed.tech/tags/payment.md>), [request](<https://devfeed.tech/tags/request.md>), [server](<https://devfeed.tech/tags/server.md>), [standards](<https://devfeed.tech/tags/standards.md>), [stripe](<https://devfeed.tech/tags/stripe.md>), [timeout](<https://devfeed.tech/tags/timeout.md>)

### AI overview

This article explains how idempotency keys make retries safe for HTTP API operations, especially POST and PATCH requests that modify server state. It discusses an IETF draft RFC and the risks of duplicate actions such as payments when clients time out.

### Source excerpt

Idempotency is when doing an operation multiple times is guaranteed to have the same effect as doing it just once. When working with APIs this is exceptionally helpful on slow or unreliable internet connections, or when dealing with particularly sensitive actions such as payments, because it makes retrying operations safe and reliable. This is why most payment gateways like Stripe and Adyen support 'idempotency keys' as a key feature of their APIs. Recently, the IETF have gone further, and created a draft RFC standard for this useful common pattern, as part of the 'Building Blocks for HTTP APIs' working group. This is technically still a draft and the details could change, but it's fairly mature now and increasingly widely used, so it's a good time to take a closer look, and start using & implementing it for yourself. Idempotency in HTTP APIs Many HTTP methods are defined as idempotent in all cases. In theory, any GET, HEAD, PUT, DELETE, OPTIONS, or TRACE operation can be executed multiple times without any unintended side effects (though for badly behaved APIs your mileage may vary). The idea is that an HTTP request like DELETE /users/123 clearly wants to delete that user, and if that accidentally happens twice then that's just fine. User 123 ends up deleted just the same. It's a lot more complicated for POST and PATCH requests, which do not provide that same level of confidence out of the box. These are designed to allow non-idempotent operations, like adding a new user, sending a payment, or appending to existing data. Those are important use cases too - sometimes you really do want to send the same thing twice, and have it happen twice - but this can cause problems when things go wrong. When sending POST and PATCH requests to modify server state, if you want to support retries then both the client and server need to explicitly handle this - which is exactly what idempotency keys are designed to allow you to do. How can non-idempotency go wrong? Without idempoten

[Next page](<https://devfeed.tech/tags/timeout.md?cursor=WyIyMDIzLTEyLTEyVDE1OjAwOjAwKzAwOjAwIiwgIjQwYmZjZWRlLThkNWEtNDdmYi1iYWFlLTA1YjZjZDkwMTdjYSJd>)