Open
Conversation
🧪 Network TestsTo run network tests for this PR, use: gh workflow run network-tests.yml -f pr_number=992Available test options:
Test types: Results will be posted as workflow runs in the Actions tab. |
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## master #992 +/- ##
==========================================
- Coverage 57.23% 56.80% -0.44%
==========================================
Files 429 445 +16
Lines 71848 74246 +2398
Branches 71848 74246 +2398
==========================================
+ Hits 41125 42174 +1049
- Misses 28733 29999 +1266
- Partials 1990 2073 +83 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
8b23e2e to
debb4f0
Compare
|
❌ CLI reference check failed in CI. Please run |
debb4f0 to
fedc658
Compare
76087ed to
2c32c3f
Compare
2c32c3f to
76b160a
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Pull Request Checklist
NODE CONFIGURATION MODEL CHANGES
Yes: added ban config and journal storage duration (with defaults)
BLOCKCHAIN CONFIGURATION MODEL CHANGES
None
COMPATIBILITY
Full. Added new column families in mempool db
SPECIAL DEPLOYMENT ACTIONS
Not Required
PERFORMANCE IMPACT
No impact expected
TESTS
Unit Tests
Added some tests for basic units and a single core cross-call test
Network Tests
No coverage
Manual Tests
transfers-30k, simulator
Notes/Additional Comments:
moderator core sequence diagram
sequenceDiagram participant Moderator participant Scheduler as Unban<br/>Scheduler participant StateLock as Ban Core<br/>state lock participant BanCache as Ban Cache participant CurrentBans as Peer Events,<br/>Current Bans participant PeerSchedule as Peer Schedule participant DBWriter as Delayed<br/>DB Writer participant DelayQueue as Unban<br/>Delay Queue alt start Moderator->>StateLock: init task at node start activate StateLock StateLock->>BanCache: restore BanCache->>CurrentBans: upsert BanCache->>Scheduler: banned BanCache-->>StateLock: new bans StateLock->>PeerSchedule: set_banned StateLock->>DBWriter: new bans deactivate StateLock else report Moderator->>Scheduler: event Scheduler->>Scheduler: dequeue Scheduler->>StateLock: event activate StateLock StateLock->>BanCache: maybe_ban BanCache->>CurrentBans: upsert BanCache->>Scheduler: banned StateLock->>PeerSchedule: set_banned StateLock->>DBWriter: stored items, no callback deactivate StateLock else manual ban Moderator->>StateLock: manual ban activate StateLock StateLock->>BanCache: manual_ban BanCache->>CurrentBans: upsert BanCache->>Scheduler: banned StateLock->>PeerSchedule: set_banned StateLock->>DBWriter: with callback deactivate StateLock DBWriter->>Moderator: wait callback else schedule unban Scheduler->>Scheduler: dequeue Scheduler->>StateLock: lock activate StateLock Scheduler->>DelayQueue: add deactivate StateLock else manual unban Moderator->>Scheduler: manual unban Scheduler->>Scheduler: dequeue Scheduler->>StateLock: manual unban activate StateLock Scheduler->>DelayQueue: remove StateLock->>BanCache: unban BanCache->>CurrentBans: remove StateLock->>PeerSchedule: remove_bans StateLock->>DBWriter: with callback deactivate StateLock DBWriter->>Moderator: wait callback else auto unban DelayQueue->>Scheduler: expire Scheduler->>StateLock: current ban activate StateLock StateLock->>BanCache: unban BanCache->>CurrentBans: remove StateLock->>PeerSchedule: remove_bans StateLock->>DBWriter: no callback deactivate StateLock end