Bail out in few more places when blockchain is not synced yet#2888
Bail out in few more places when blockchain is not synced yet#2888UdjinM6 merged 2 commits intodashpay:developfrom
Conversation
| void CQuorumManager::UpdatedBlockTip(const CBlockIndex* pindexNew, const CBlockIndex* pindexFork, bool fInitialDownload) | ||
| { | ||
| if (fInitialDownload) { | ||
| if (!masternodeSync.IsBlockchainSynced()) { |
There was a problem hiding this comment.
Does this actually make a difference?
There was a problem hiding this comment.
fInitialDownload switches to false ~144 blocks deep https://github.com/dashpay/dash/blob/master/src/validation.h#L129 which is ~6 llmq50 quorums. I assume it could be pretty wasteful to scan/ensure connections for these quorums (which are going to be dropped soon after sync is done) but I haven't tested this tbh.
There was a problem hiding this comment.
Ah yeah, noticed this wasteful building-up of connections as well 👍
src/llmq/quorums_chainlocks.cpp
Outdated
| // This should also not be called from validation signals, as this might result in recursive calls | ||
| void CChainLocksHandler::EnforceBestChainLock() | ||
| { | ||
| if (!masternodeSync.IsBlockchainSynced()) { |
There was a problem hiding this comment.
This might actually result in never reaching the correct chain and thus never leaving the !masternodeSync.IsBlockchainSynced() state. Very unlikely, but still possible.
There was a problem hiding this comment.
Hmm.. agree, will drop this one.
…y#2888) * Bail out in few more places when blockchain is not synced yet * Apply review suggestion
c7e2beb scripted-diff: Refactor llmq type consensus param names (dashpay#3093) (UdjinM6) af7bb99 Re-verify invalid IS sigs when the active quorum set rotated (dashpay#3052) (Alexander Block) be20a71 Remove recovered sigs from the LLMQ db when corresponding IS locks get confirmed (dashpay#3048) (Alexander Block) 802a933 Don't wake up select if it was already woken up (dashpay#2863) (Alexander Block) 436300d Disable optimistic send in PushMessage by default (dashpay#2859) (Alexander Block) 44ad484 Optimize LLMQs sending of sig shares (dashpay#2704) (Alexander Block) e01ad46 Fix db leaks in LLMQ db (dashpay#2914) (Alexander Block) d2a2d15 Print inputs on which we voted and quorums used for signing (dashpay#2907) (Alexander Block) dce46ad Bail out in few more places when blockchain is not synced yet (dashpay#2888) (UdjinM6) 965a4a7 Use lazy BLS signatures more often and don't always verify self-recovered sigs (dashpay#2860) (Alexander Block) f4a5a04 cherry pick dashpay#2889 (UdjinM6) Pull request description: each commit backports a different PR ACKs for top commit: c7e2beb Duddino: utACK c7e2beb Liquid369: utACK c7e2beb Tree-SHA512: 86425039d01990ff04eea95f5ea4bee4821eaa80c33bab147d5b9407589c799c8293c2da5d5faf10e7e66b65d568444318c87fc274f39b42d2b69b80abafb417
No description provided.