Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

polygon/sync: fix block too soon error #11499

Merged
merged 42 commits into from
Aug 6, 2024
Merged

Conversation

taratorio
Copy link
Member

@taratorio taratorio commented Aug 6, 2024

part of #11032

Fixes "block too soon error" which was due to incorrectly calculated block producer priorities.

DBUG[08-06|13:31:23.898] [sync] onNewBlockEvent: couldn't connect a header to the local chain tip, ignoring err="canonicalChainBuilder.Connect: invalid header error Block 10391894 was created too soon. Signer turn-ness number is 2\n"

Removes SpansCache in favour of heimdallService.Producers which returns correct producer priorities.

taratorio added a commit that referenced this pull request Aug 6, 2024
part of #11032

adds 2 new types and corresponding logic:
- `SpanBlockProducerSelection` - explanation can be found in the doc
string
- `spanBlockProducersTracker` - in high-level: it is an internal
component of the heimdall service which registers for span updates. It
accumulates the block producer priorities from span 0 to latest and
persists them in the heimdall db (or in the stage loop db if run as part
of the stage loop integration mode). Provides a `Producers(blockNum)`
API which returns correct accumulated producer priorities.

In subsequent PRs, I will start using the new `Producers(blockNum)` API
in the Astrid chain tip mode (PR
#11499) and also add unit tests
(PR #11426) for the entire
heimdall service.
Base automatically changed from astrid-span-accum-producer-priorities to main August 6, 2024 11:42
@taratorio taratorio marked this pull request as ready for review August 6, 2024 13:04
@taratorio taratorio merged commit 7559968 into main Aug 6, 2024
18 of 19 checks passed
@taratorio taratorio deleted the astrid-fix-block-too-soon-err branch August 6, 2024 15:29
somnathb1 pushed a commit that referenced this pull request Aug 16, 2024
part of #11032

adds 2 new types and corresponding logic:
- `SpanBlockProducerSelection` - explanation can be found in the doc
string
- `spanBlockProducersTracker` - in high-level: it is an internal
component of the heimdall service which registers for span updates. It
accumulates the block producer priorities from span 0 to latest and
persists them in the heimdall db (or in the stage loop db if run as part
of the stage loop integration mode). Provides a `Producers(blockNum)`
API which returns correct accumulated producer priorities.

In subsequent PRs, I will start using the new `Producers(blockNum)` API
in the Astrid chain tip mode (PR
#11499) and also add unit tests
(PR #11426) for the entire
heimdall service.
somnathb1 pushed a commit that referenced this pull request Aug 16, 2024
part of #11032

Fixes "block too soon error" which was due to incorrectly calculated
block producer priorities.
```
DBUG[08-06|13:31:23.898] [sync] onNewBlockEvent: couldn't connect a header to the local chain tip, ignoring err="canonicalChainBuilder.Connect: invalid header error Block 10391894 was created too soon. Signer turn-ness number is 2\n"
```

Removes `SpansCache` in favour of `heimdallService.Producers` which
returns correct producer priorities.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants