-
Notifications
You must be signed in to change notification settings - Fork 324
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
[blockindex] introduce indexergroup #3906
Conversation
Should the issue be fixed here instead? |
Yeah, it's another workable solution. However, using |
Codecov Report
@@ Coverage Diff @@
## master #3906 +/- ##
==========================================
+ Coverage 75.38% 76.02% +0.64%
==========================================
Files 303 328 +25
Lines 25923 27878 +1955
==========================================
+ Hits 19541 21194 +1653
- Misses 5360 5588 +228
- Partials 1022 1096 +74
... and 4 files with indirect coverage changes 📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more |
Around 30 lines of change should have done the work d6331c6 |
Yes, in terms of the amount of code modification, this way is less. However, its actual impact is significant, as it affects all indexers with a greater risk of encountering issues and requiring more extensive testing. On the other hand, introducing |
Kudos, SonarCloud Quality Gate passed! 0 Bugs No Coverage information |
Description
Currently, when the node starts up, each
block indexer
is checked separately, meaning that one indexer will only be checked when it reaches the tip height before another indexer is checked. However, thecontract staking indexer
andfactory indexer
are not completely independent, and checking them separately may cause block validation failures. Therefore, these two indexers need to be checked synchronously.To address this, we introduce the
IndexerGroup
, which is a special indexer that can contain other indexers. Indexers added to the IndexerGroup can support synchronous checking.Fixes #(issue)
Type of change
Please delete options that are not relevant.
How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration
Test Configuration:
Checklist: