Author | SHA1 | Message | Date |
---|---|---|---|
M. J. Fromberger |
2df5c85a8d
|
Fix govet errors for %w use in test errors. (#8083)
The %w syntax is a fmt.Errorf thing, not supported by the testing package. |
3 years ago |
Sam Kleinman |
332163ede6
|
testing: remove background contexts (#7509) | 3 years ago |
Sam Kleinman |
3c8955e4b8
|
errors: formating cleanup (#7507) | 3 years ago |
M. J. Fromberger |
d32913c889
|
pubsub: Use a dynamic queue for buffered subscriptions (#7177)
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. |
3 years ago |