Skip to content
  • Adrian Catangiu's avatar
    sc-consensus-beefy: pump gossip engine while waiting for initialization conditions (#3435) · 31546c8d
    Adrian Catangiu authored
    As part of BEEFY worker/voter initialization the task waits for certain
    chain and backend conditions to be fulfilled:
    - BEEFY consensus enabled on-chain & GRANDPA best finalized higher than
    on-chain BEEFY genesis block,
    - backend has synced headers for BEEFY mandatory blocks between best
    BEEFY and best GRANDPA.
    
    During this waiting time, any messages gossiped on the BEEFY topic for
    current chain get enqueued in the gossip engine, leading to RAM bloating
    and output warning/error messages when the wait time is non-negligible
    (like during a clean sync).
    
    This PR adds logic to pump the gossip engine while waiting for other
    things to make sure gossiped messages get consumed (practically
    discarded until worker is fully initialized).
    
    Also raises the warning threshold for enqueued messages from 10k to
    100k. This is in line with the other gossip protocols on the node.
    
    Fixes https://github.com/paritytech/polkadot-sdk/issues/3390
    
    
    
    ---------
    
    Signed-off-by: default avatarAdrian Catangiu <[email protected]>
    31546c8d