Skip to content

Commit 8452f92

Browse files
author
MarcoFalke
committed
Merge #19050: doc: Add warning for rest interface limitation
5c3eaf9 doc: Add warnings for http interfaces limitations (Fabian Jahr) Pull request description: `libevent`, which is used for our rest interface, can use up all of the available file descriptors in a system if too many connections are opened at once. If a new block is connected at the same time and can not be written to disk because there are no file descriptors available, the node crashes. Based on my investigation so far the issue is best solved upstream which means we have to wait for the next release (2.2). In the meantime it would be good if we would warn users of this limitation. See #11368 for more background. ACKs for top commit: MarcoFalke: ACK 5c3eaf9 Tree-SHA512: 73914538588477ead19068f5832fdcc8e0eb736e51f73b3aca501c93165e5ad634c2511a3fcffff251adcd3efda23a742b48211ad9d3b2a29cdeac17201d06a1
2 parents 6f2ca72 + 5c3eaf9 commit 8452f92

File tree

2 files changed

+23
-0
lines changed

2 files changed

+23
-0
lines changed

doc/JSON-RPC-interface.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,3 +127,14 @@ However, the wallet may not be up-to-date with the current state of the mempool
127127
or the state of the mempool by an RPC that returned before this RPC. For
128128
example, a wallet transaction that was BIP-125-replaced in the mempool prior to
129129
this RPC may not yet be reflected as such in this RPC response.
130+
131+
## Limitations
132+
133+
There is a known issue in the JSON-RPC interface that can cause a node to crash if
134+
too many http connections are being opened at the same time because the system runs
135+
out of available file descriptors. To prevent this from happening you might
136+
want to increase the number of maximum allowed file descriptors in your system
137+
and try to prevent opening too many connections to your JSON-RPC interface at the
138+
same time if this is under your control. It is hard to give general advice
139+
since this depends on your system but if you make several hundred requests at
140+
once you are definitely at risk of encountering this issue.

doc/REST-interface.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,18 @@ REST Interface consistency guarantees
1212
The [same guarantees as for the RPC Interface](/doc/JSON-RPC-interface.md#rpc-consistency-guarantees)
1313
apply.
1414

15+
Limitations
16+
-----------
17+
18+
There is a known issue in the REST interface that can cause a node to crash if
19+
too many http connections are being opened at the same time because the system runs
20+
out of available file descriptors. To prevent this from happening you might
21+
want to increase the number of maximum allowed file descriptors in your system
22+
and try to prevent opening too many connections to your rest interface at the
23+
same time if this is under your control. It is hard to give general advice
24+
since this depends on your system but if you make several hundred requests at
25+
once you are definitely at risk of encountering this issue.
26+
1527
Supported API
1628
-------------
1729

0 commit comments

Comments
 (0)