overlay-only loadgen mode updates: checkValid cleanup and new tx profiles#5243
Merged
marta-lokhova merged 3 commits intostellar:masterfrom Apr 27, 2026
Merged
Conversation
fbe7f77 to
b9ea7b0
Compare
Contributor
There was a problem hiding this comment.
Pull request overview
This PR updates Stellar Core’s overlay-only load generator behavior to run deeper end-to-end validation (including Soroban resource checks) and introduces new mixed classic+pregen + synthetic Soroban load profiles for exercising overlay throughput without on-ledger contract setup.
Changes:
- Remove the overlay-only
checkValidshort-circuit and add an overlay-only test-only mechanism to skip seqnum equality checks during validation. - Add new
MIXED_PREGEN_*loadgen modes, including synthetic Soroban transaction generation (SAC payment, OZ token transfer, Soroswap swap) alongside pre-generated classic payments. - Refactor Soroswap swap tx construction into
TxGeneratorand improve overlay-only apply logging and tx-set validation behavior in tests.
Reviewed changes
Copilot reviewed 15 out of 15 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| src/transactions/TransactionFrame.cpp | Removes overlay-only checkValid bypass; adds conditional seqnum check skip via ledger-view wrapper flag. |
| src/ledger/ImmutableLedgerView.h | Adds test-only mSkipSeqNumCheck flag to support overlay-only validation. |
| src/herder/TransactionQueue.cpp | Sets mSkipSeqNumCheck in overlay-only; adjusts fee-check gating for test builds. |
| src/herder/TxSetUtils.cpp | Sets mSkipSeqNumCheck for tx-set validation in overlay-only. |
| src/herder/TxSetFrame.cpp | Disables unique-source enforcement in overlay-only (test-only). |
| src/herder/HerderImpl.cpp | Disables 1-tx-per-source cross-queue limit in overlay-only (test-only). |
| src/simulation/LoadGenerator.h / .cpp | Adds MIXED_PREGEN modes, synthetic Soroban tx creation, and per-stream accounting for completion. |
| src/simulation/TxGenerator.h / .cpp | Adds synthetic contract/state builders and a Soroswap swap tx builder; centralizes key helpers. |
| src/simulation/ApplyLoad.h / .cpp | Reuses TxGenerator’s Soroswap state/types and swap builder. |
| src/simulation/test/LoadGeneratorTests.cpp | Updates overlay-only test config limits and adds mixed-mode test coverage. |
| src/main/CommandHandler.cpp | Adds CLI params for MIXED_PREGEN per-stream TPS and sets combined txRate. |
| src/ledger/LedgerManagerImpl.cpp | Improves overlay-only “skipping apply” log with classic/soroban breakdown. |
39148ea to
c4f884b
Compare
dmkozh
previously approved these changes
Apr 27, 2026
…ks in overlay-only mode
c4f884b to
d50e9c9
Compare
dmkozh
approved these changes
Apr 27, 2026
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.
No description provided.