-
Notifications
You must be signed in to change notification settings - Fork 2.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
rpc: Add experimental config params to allow for subscription buffer size control (tm v0.34.x) #7230
Conversation
Seems like the new linting changes in 8a2dcba are picking up a whole bunch of spelling mistakes throughout the codebase 🙂 |
They're less mistakes and more conventions :p Anyway, those should be fixed if you rebase/etc. |
Signed-off-by: Thane Thomson <connect@thanethomson.com>
Signed-off-by: Thane Thomson <connect@thanethomson.com>
Signed-off-by: Thane Thomson <connect@thanethomson.com>
Signed-off-by: Thane Thomson <connect@thanethomson.com>
Signed-off-by: Thane Thomson <connect@thanethomson.com>
1582de6
to
1856067
Compare
Signed-off-by: Thane Thomson <connect@thanethomson.com>
Signed-off-by: Thane Thomson <connect@thanethomson.com>
So we've now managed to confirm that:
Beyond enabling these experimental config parameters, I'd like to propose we increase the default subscription buffer size to 1000 to better handle the loads we're seeing in live networks. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Overall this change seems mechanically fine. My one main concern is this: If we add these experimental settings only to the v0.34 line, it becomes an upgrade blocker for v0.35.
The biggest users are the ones most likely to need this knob, and there are enough other quality of life improvements in the v0.35 series that we'd prefer not to add any additional impediments to their upgrading.
It looks to me like the config plumbing parts of this PR could be safely added to v0.35.x for the next point release, which would avert that. I think it'd be fine to land them separately rather than as a backport from v0.35, though.
Your thoughts?
Just to clarify: I'm not objecting to merging this change into v0.34 either way, I am just thinking about the path for someone who needs to upgrade. |
I'd be more than happy to submit a separate PR to introduce similar changes into v0.35. |
Signed-off-by: Thane Thomson <connect@thanethomson.com>
Are the coverage tests known to be non-deterministic? It seems like each time I re-run the tests, a different set of coverage tests fail. |
Some of the end-to-end tests are nondeterministic, but the unit tests should usually not be. This looks like a bug in the tests, though it is quite possible it's a bug we fixed already on trunk. Over the past few months we've cleaned up various issues with goroutine lifetime. If it doesn't fail consistently, I don't think we should block over it. |
…(tm v0.35.x) (#7276) * Update error message to correspond to changes in v0.34.x * Add buffer size and client-close config parameters Signed-off-by: Thane Thomson <connect@thanethomson.com>
…(tm v0.35.x) (#7276) * Update error message to correspond to changes in v0.34.x * Add buffer size and client-close config parameters Signed-off-by: Thane Thomson <connect@thanethomson.com> (cherry picked from commit 035da42)
Follows from #7188 and related to #6729.
The aim here is to provide a short-term workaround for #6729 in the v0.34.x series of Tendermint that allows for tuning of the internal buffer sizes relating to event subscription. The following configuration parameters are introduced in the
[rpc]
section: