Disable the PubSub vote subscription by default (#13599)

The --rpc-pubsub-enable-vote-subscription flag may be used to enable it.
The current vote subscription is problematic because it emits a
notification for *every* vote, so hundreds a second in a real cluster.
Critically it's also missing information about *who* is voting,
rendering all those notifications practically useless.

Until these two issues can be resolved, the vote subscription is not
much more than a potential DoS vector.

(cherry picked from commit 5d72e52ad0)

Co-authored-by: Michael Vines <mvines@gmail.com>
This commit is contained in:
mergify[bot]
2020-11-14 21:51:15 +00:00
committed by GitHub
parent 965e6dfc9a
commit c6818f8faf
6 changed files with 52 additions and 10 deletions

View File

@@ -1551,7 +1551,7 @@ curl -X POST -H "Content-Type: application/json" -d '{"jsonrpc":"2.0","id":1, "m
{"jsonrpc":"2.0","result":true,"id":1}
```
### Subscription Websocket
## Subscription Websocket
After connecting to the RPC PubSub websocket at `ws://<ADDRESS>/`:
@@ -1973,7 +1973,11 @@ Unsubscribe from root notifications
{"jsonrpc": "2.0","result": true,"id": 1}
```
### voteSubscribe
### voteSubscribe - Unstable, disabled by default
**This subscription is unstable and only available if the validator was started
with the `--rpc-pubsub-enable-vote-subscription` flag. The format of this
subscription may change in the future**
Subscribe to receive notification anytime a new vote is observed in gossip.
These votes are pre-consensus therefore there is no guarantee these votes will