From b1328db07f7f4743d64f08338db3078ebc0b1d8b Mon Sep 17 00:00:00 2001 From: Anton Kaliaev Date: Wed, 23 Dec 2020 21:05:14 +0400 Subject: [PATCH] modify Reactor priorities (#5826) (#5830) blockchain/vX reactor priority was decreased because during the normal operation (i.e. when the node is not fast syncing) blockchain priority can't be the same as consensus reactor priority. Otherwise, it's theoretically possible to slow down consensus by constantly requesting blocks from the node. NOTE: ideally blockchain/vX reactor priority would be dynamic. e.g. when the node is fast syncing, the priority is 10 (max), but when it's done fast syncing - the priority gets decreased to 5 (only to serve blocks for other nodes). But it's not possible now, therefore I decided to focus on the normal operation (priority = 5). evidence and consensus critical messages are more important than the mempool ones, hence priorities are bumped by 1 (from 5 to 6). statesync reactor priority was changed from 1 to 5 to be the same as blockchain/vX priority. Refs https://github.com/tendermint/tendermint/issues/5816 --- blockchain/v0/reactor.go | 2 +- blockchain/v2/reactor.go | 2 +- consensus/reactor.go | 4 ++-- evidence/reactor.go | 2 +- statesync/reactor.go | 2 +- test/maverick/consensus/reactor.go | 4 ++-- 6 files changed, 8 insertions(+), 8 deletions(-) diff --git a/blockchain/v0/reactor.go b/blockchain/v0/reactor.go index 01f32866a..ac2ef8ece 100644 --- a/blockchain/v0/reactor.go +++ b/blockchain/v0/reactor.go @@ -140,7 +140,7 @@ func (bcR *BlockchainReactor) GetChannels() []*p2p.ChannelDescriptor { return []*p2p.ChannelDescriptor{ { ID: BlockchainChannel, - Priority: 10, + Priority: 5, SendQueueCapacity: 1000, RecvBufferCapacity: 50 * 4096, RecvMessageCapacity: bc.MaxMsgSize, diff --git a/blockchain/v2/reactor.go b/blockchain/v2/reactor.go index 410fb07c0..f7af24808 100644 --- a/blockchain/v2/reactor.go +++ b/blockchain/v2/reactor.go @@ -555,7 +555,7 @@ func (r *BlockchainReactor) GetChannels() []*p2p.ChannelDescriptor { return []*p2p.ChannelDescriptor{ { ID: BlockchainChannel, - Priority: 10, + Priority: 5, SendQueueCapacity: 2000, RecvBufferCapacity: 50 * 4096, RecvMessageCapacity: bc.MaxMsgSize, diff --git a/consensus/reactor.go b/consensus/reactor.go index 4ee0aae18..0303a2afd 100644 --- a/consensus/reactor.go +++ b/consensus/reactor.go @@ -142,7 +142,7 @@ func (conR *Reactor) GetChannels() []*p2p.ChannelDescriptor { return []*p2p.ChannelDescriptor{ { ID: StateChannel, - Priority: 5, + Priority: 6, SendQueueCapacity: 100, RecvMessageCapacity: maxMsgSize, }, @@ -156,7 +156,7 @@ func (conR *Reactor) GetChannels() []*p2p.ChannelDescriptor { }, { ID: VoteChannel, - Priority: 5, + Priority: 7, SendQueueCapacity: 100, RecvBufferCapacity: 100 * 100, RecvMessageCapacity: maxMsgSize, diff --git a/evidence/reactor.go b/evidence/reactor.go index a6586d33d..d5b953e24 100644 --- a/evidence/reactor.go +++ b/evidence/reactor.go @@ -53,7 +53,7 @@ func (evR *Reactor) GetChannels() []*p2p.ChannelDescriptor { return []*p2p.ChannelDescriptor{ { ID: EvidenceChannel, - Priority: 5, + Priority: 6, RecvMessageCapacity: maxMsgSize, }, } diff --git a/statesync/reactor.go b/statesync/reactor.go index 5bbe7608a..62e1289d1 100644 --- a/statesync/reactor.go +++ b/statesync/reactor.go @@ -53,7 +53,7 @@ func (r *Reactor) GetChannels() []*p2p.ChannelDescriptor { return []*p2p.ChannelDescriptor{ { ID: SnapshotChannel, - Priority: 3, + Priority: 5, SendQueueCapacity: 10, RecvMessageCapacity: snapshotMsgSize, }, diff --git a/test/maverick/consensus/reactor.go b/test/maverick/consensus/reactor.go index f4cf12c97..e623aebee 100644 --- a/test/maverick/consensus/reactor.go +++ b/test/maverick/consensus/reactor.go @@ -144,7 +144,7 @@ func (conR *Reactor) GetChannels() []*p2p.ChannelDescriptor { return []*p2p.ChannelDescriptor{ { ID: StateChannel, - Priority: 5, + Priority: 6, SendQueueCapacity: 100, RecvMessageCapacity: maxMsgSize, }, @@ -158,7 +158,7 @@ func (conR *Reactor) GetChannels() []*p2p.ChannelDescriptor { }, { ID: VoteChannel, - Priority: 5, + Priority: 7, SendQueueCapacity: 100, RecvBufferCapacity: 100 * 100, RecvMessageCapacity: maxMsgSize,