-
Notifications
You must be signed in to change notification settings - Fork 1.7k
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
Added config options to control HeadTracker's support of finality tags #13336
Added config options to control HeadTracker's support of finality tags #13336
Conversation
dhaidashenko
commented
May 27, 2024
- Disabled by default HeadTracker's support of finality tags
- Added config option, that allows to abort HeadTracker's backfill if gap between the current head and latest finalized block is too large.
- Enabled HeadTracker's support of finality tags for chains that are a testnet and max observed finality gap is less than 2000 blocks (query used to validate chain)
…ity-tag # Conflicts: # core/services/chainlink/config_test.go
…finality gaps with finality tag enabled
…ity-tag # Conflicts: # core/chains/evm/config/toml/defaults/BSC_Testnet.toml
@@ -57,6 +57,8 @@ TransactionPercentile = 60 | |||
HistoryDepth = 100 | |||
MaxBufferSize = 3 | |||
SamplingInterval = '1s' | |||
FinalityTagBypass = true |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Shouldn't the default value be false otherwise every chain will override finality tag by default? AFAIK the only chain that needs this as true is Arbitrum
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
IMHO safer approach is to disable it for all of the chains and only enable it for those that we've seen behave normally. After the optimisation we will enable it for all chains.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I might be a bit confused here, but don't we want to enable Finality Tag on all chains they support it and if they show they have issues, then disable it by setting FinalityTagBypass = true
? Most chains don't have more than 10k finality depth. Otherwise we would have to explicitly test every chain we are operating on. I mean I'm ok either way, but we need to make sure Finality Tag is enabled on every chain we can. Same thing happened with dynamic transactions. They are still disabled in many chains because no one ever did the switch.
Quality Gate passedIssues Measures |