Skip to content

Commit 8d4f09f

Browse files
authored
[DOCS] Add note about long-lived idle connections (#30990)
Clarify that we expect to have idle inter-node connections within the cluster, and that the network needs to be configured not to disrupt these.
1 parent 07a57cc commit 8d4f09f

File tree

1 file changed

+20
-1
lines changed

1 file changed

+20
-1
lines changed

docs/reference/modules/transport.asciidoc

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,12 @@ time setting format). Defaults to `30s`.
4444
|`transport.tcp.compress` |Set to `true` to enable compression (`DEFLATE`)
4545
between all nodes. Defaults to `false`.
4646

47-
|`transport.ping_schedule` | Schedule a regular ping message to ensure that connections are kept alive. Defaults to `5s` in the transport client and `-1` (disabled) elsewhere.
47+
|`transport.ping_schedule` | Schedule a regular application-level ping message
48+
to ensure that transport connections between nodes are kept alive. Defaults to
49+
`5s` in the transport client and `-1` (disabled) elsewhere. It is preferable to
50+
correctly configure TCP keep-alives instead of using this feature, because TCP
51+
keep-alives apply to all kinds of long-lived connection and not just to
52+
transport connections.
4853

4954
|=======================================================================
5055

@@ -80,6 +85,20 @@ The following parameters can be configured like that
8085
* `tcp_send_buffer_size`: Configures the send buffer size of the socket
8186
* `tcp_receive_buffer_size`: Configures the receive buffer size of the socket
8287

88+
[float]
89+
==== Long-lived idle connections
90+
91+
Elasticsearch opens a number of long-lived TCP connections between each pair of
92+
nodes in the cluster, and some of these connections may be idle for an extended
93+
period of time. Nonetheless, Elasticsearch requires these connections to remain
94+
open, and it can disrupt the operation of the cluster if any inter-node
95+
connections are closed by an external influence such as a firewall. It is
96+
important to configure your network to preserve long-lived idle connections
97+
between Elasticsearch nodes, for instance by leaving `tcp_keep_alive` enabled
98+
and ensuring that the keepalive interval is shorter than any timeout that might
99+
cause idle connections to be closed, or by setting `transport.ping_schedule` if
100+
keepalives cannot be configured.
101+
83102
[float]
84103
=== Transport Tracer
85104

0 commit comments

Comments
 (0)