hyperledger / besu

An enterprise-grade Java-based, Apache 2.0 licensed Ethereum client https://wiki.hyperledger.org/display/besu
https://www.hyperledger.org/projects/besu
Apache License 2.0
1.52k stars 839 forks source link

Backwards sync regression #5464

Closed non-fungible-nelson closed 1 year ago

non-fungible-nelson commented 1 year ago

Description

As a user, I need my backward sync session to be performant enough to reach the chain head. With Bonsai's structure, backwards sync will often trigger large reorg-like roll-forwards/backwards with Bonsai that eat CPU, block threads, and cause issues with the sync.

Currently, when the CLs gets out of sync, they will handle a return to the chain head differently.

Besu could:

Acceptance Criteria

Mkkoll commented 1 year ago

My node went down today for around 12 hours before i could get it back online again.

It is going to take ~4 hours to resync the 12 missed hours because blocks are importing sequentially in 4 or 5 seconds intervals.

As a user, this makes a moderate amount of downtime quite a pain to recover from. As a staker, this makes Besu client look unattractive as an EL client choice as we need multiple clients of roughly equivalent performance.

non-fungible-nelson commented 1 year ago

Reference #5699