-
Notifications
You must be signed in to change notification settings - Fork 246
feat(syncing): add grace period for missing force txs inclusion #2915
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
Conversation
|
The latest Buf updates on your PR. Results from workflow CI / buf-check (pull_request).
|
|
Claude finished @julienrbrt's task in 3m 57s —— View job Comprehensive Code Review: Grace Period for Forced InclusionI've performed a thorough review of this PR implementing a configurable grace period for forced inclusion transactions. Here's my detailed feedback: 🎯 SummaryThis PR adds a sophisticated grace period mechanism with dynamic adjustment based on chain congestion. The implementation is well-designed and addresses a real operational need. However, there are several important issues to address, particularly around test coverage and the dynamic adjustment implementation. 🔴 Critical Issues1. Insufficient Test Coverage for Grace Period Logic
|
Summary of ChangesHello @julienrbrt, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request introduces a significant improvement to the forced inclusion mechanism by implementing a configurable grace period. This grace period allows for a delay in marking a sequencer as malicious if forced inclusion transactions are not immediately included, providing crucial resilience against temporary Data Availability (DA) layer outages or network congestion. The change ensures that the system can tolerate transient issues without compromising censorship resistance, striking a better balance between security and operational reliability. Highlights
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
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.
Code Review
This pull request introduces a grace period for forced transaction inclusion, which is a great enhancement for network resilience against temporary DA layer issues. The implementation logic in the syncer, along with the new metrics and the extensive documentation updates in the ADR, are well-executed. My primary concern is the lack of test coverage for the new grace period functionality. The existing and newly added tests only cover the scenario where the grace period is zero, failing to validate the core behavior of the feature. I've added a comment with a suggestion to improve test coverage.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #2915 +/- ##
==========================================
- Coverage 65.94% 63.53% -2.41%
==========================================
Files 87 90 +3
Lines 7990 8584 +594
==========================================
+ Hits 5269 5454 +185
- Misses 2147 2547 +400
- Partials 574 583 +9
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
* main: chore: execute goimports to format the code (#2924) refactor(block)!: remove GetLastState from components (#2923) feat(syncing): add grace period for missing force txs inclusion (#2915) chore: minor improvement for docs (#2918) feat: DA Client remove interface part 2, add client for celestia blob api (#2909) chore: update rust deps (#2917) feat(sequencers/based): add based batch time (#2911) build(deps): Bump golangci/golangci-lint-action from 9.1.0 to 9.2.0 (#2914) refactor(sequencers): implement batch position persistance (#2908)
Overview
ref: #2906
Add grace period for missing force txs inclusion. The grace period of 1 epoch can increase depending of the chain congestion (size of blocks). The grace period becomes elastic if the chain congested, to give to the sequencer to process all txs before being considered malicious.