AntelopeIO / spring

C++ implementation of the Antelope protocol with Savanna consensus
Other
5 stars 2 forks source link

No blocks received from network are processed by the main thread #574

Closed heifner closed 1 month ago

heifner commented 1 month ago

Log provided via DM on telegram.

heifner commented 1 month ago

nodeos running with blocks-retained-dir and blocks-archive-dir, but no max-retained-block-files option. Leap would check cc.fetch_block_state_by_id( id ) to see if nodeos already had a block. Spring uses cc.block_exists( id ) which checks the block log including the block log in the retained directory. In this case, the retained directory contained a full block log with blocks beyond the current chain_head of nodeos. In Leap this would "just work". In Spring, this confuses the node so it can't sync. The net_plugin requests blocks from its peer and then determine it already has the block. It would get stuck as it would not find a block in the requested range that it didn't already have.

arhag commented 1 month ago

This issue would be fixed if https://github.com/AntelopeIO/spring/issues/586 is resolved. Closing in favor of #586.