This is an automated email from the ASF dual-hosted git repository.
pjfanning pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/pekko-http.git
The following commit(s) were added to refs/heads/main by this push:
new 7dc416d92 add warnings about limitations of idle-timeout (#1194)
7dc416d92 is described below
commit 7dc416d92f5a88a89b63a634dd777171ca898db3
Author: PJ Fanning <[email protected]>
AuthorDate: Fri Sep 11 10:00:26 2026 +0100
add warnings about limitations of idle-timeout (#1194)
* add warnings about limitations of idle-timeout
* Update idle connection timeout description
Clarified the description of the idle connection timeout to specify it as a
bidirectional inactivity timeout and provided additional context on its
behavior.
* Enhance documentation on inactivity timeout behavior
Clarify the behavior of the inactivity timeout, including its bidirectional
nature and implications for connection management.
---
docs/src/main/paradox/common/timeouts.md | 9 +++++++++
http-core/src/main/resources/reference.conf | 9 +++++++++
2 files changed, 18 insertions(+)
diff --git a/docs/src/main/paradox/common/timeouts.md
b/docs/src/main/paradox/common/timeouts.md
index aaf08a8a5..ea5918ef8 100644
--- a/docs/src/main/paradox/common/timeouts.md
+++ b/docs/src/main/paradox/common/timeouts.md
@@ -15,6 +15,15 @@ on a connection for over `idle-timeout` time, the connection
will be automatical
This setting should be used as a last-resort safeguard to prevent unused or
stuck connections from consuming resources for
an indefinite time.
+This is a bidirectional inactivity timeout. It triggers only when no
+bytes are sent or received for the configured duration. Traffic in
+either direction, including a client sending bytes at intervals shorter
+than the timeout, keeps the connection alive; it is not an overall
+request-receive timeout. Lowering this value and configuring
+`pekko.http.server.parsing.max-content-length` reduce exposure but do not
+bound request duration. Use an appropriately configured reverse proxy or
+application-level entity timeout when a hard receive deadline is required.
+
The setting works the same way for server and client connections and it is
configurable independently using the following keys:
```
diff --git a/http-core/src/main/resources/reference.conf
b/http-core/src/main/resources/reference.conf
index 19df08f68..a61326119 100644
--- a/http-core/src/main/resources/reference.conf
+++ b/http-core/src/main/resources/reference.conf
@@ -45,6 +45,15 @@ pekko.http {
# The time after which an idle connection will be automatically closed.
# Set to `infinite` to completely disable idle connection timeouts.
+ #
+ # Note: This is a bidirectional inactivity timeout. It triggers only when
+ # no bytes are sent or received for the configured duration. Traffic in
+ # either direction, including a client sending bytes at intervals shorter
+ # than the timeout, keeps the connection alive; it is not an overall
+ # request-receive timeout. Lowering this value and configuring
+ # pekko.http.server.parsing.max-content-length reduce exposure but do not
+ # bound request duration. Use an appropriately configured reverse proxy or
+ # application-level entity timeout when a hard receive deadline is
required.
idle-timeout = 60 s
# Defines the default time period within which the application has to
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]