Revision d32913c889b3e7a94c6fc73ad2669523d4ba23e4 authored by M. J. Fromberger on 01 November 2021, 17:38:27 UTC, committed by GitHub on 01 November 2021, 17:38:27 UTC
Updates #7156, and a follow-up to #7070. Event subscriptions in Tendermint currently use a fixed-length Go channel as a queue. When the channel fills up, the publisher immediately terminates the subscription. This prevents slow subscribers from creating memory pressure on the node by not servicing their queue fast enough. Replace the buffered channel used to deliver events to buffered subscribers with an explicit queue. The queue provides a soft quota and burst credit mechanism: Clients that usually keep up can survive occasional bursts, without allowing truly slow clients to hog resources indefinitely.
1 parent 5599ec3
File | Mode | Size |
---|---|---|
.github | ||
DOCKER | ||
abci | ||
cmd | ||
config | ||
crypto | ||
docs | ||
internal | ||
libs | ||
light | ||
networks | ||
node | ||
privval | ||
proto | ||
rpc | ||
scripts | ||
test | ||
third_party | ||
tools | ||
types | ||
version | ||
.clang-format | -rw-r--r-- | 241 bytes |
.dockerignore | -rw-r--r-- | 63 bytes |
.editorconfig | -rw-r--r-- | 280 bytes |
.gitignore | -rw-r--r-- | 948 bytes |
.golangci.yml | -rw-r--r-- | 956 bytes |
.goreleaser.yml | -rw-r--r-- | 634 bytes |
.markdownlintignore | -rw-r--r-- | 89 bytes |
CHANGELOG.md | -rw-r--r-- | 212.4 KB |
CHANGELOG_PENDING.md | -rw-r--r-- | 1.5 KB |
CODE_OF_CONDUCT.md | -rw-r--r-- | 4.9 KB |
CONTRIBUTING.md | -rw-r--r-- | 14.2 KB |
LICENSE | -rw-r--r-- | 11.1 KB |
Makefile | -rw-r--r-- | 10.8 KB |
README.md | -rw-r--r-- | 8.0 KB |
RELEASES.md | -rw-r--r-- | 8.8 KB |
SECURITY.md | -rw-r--r-- | 7.7 KB |
STYLE_GUIDE.md | -rw-r--r-- | 7.6 KB |
UPGRADING.md | -rw-r--r-- | 36.1 KB |
buf.gen.yaml | -rw-r--r-- | 480 bytes |
buf.yaml | -rw-r--r-- | 193 bytes |
docker-compose.yml | -rw-r--r-- | 1.3 KB |
dredd.yml | -rw-r--r-- | 700 bytes |
go.mod | -rw-r--r-- | 1.6 KB |
go.sum | -rw-r--r-- | 152.7 KB |
Computing file changes ...