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
History
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

README.md

back to top