Open
Conversation
…lockstore (#4523)
When inserting own shreds during leader slots, we shouldn't try to
recover shreds. If shreds are not to be recovered we don't need the
retransmit channel either. Otherwise, if we are inserting shreds from
another leader, we need to try erasure recovery and retransmit recovered
shreds.
So Reed-Solomon cache and retransmit-sender should only be present
together. The commit makes this explicit by adding
should_recover_shreds: Option<(
&ReedSolomonCache,
&Sender<Vec</*shred:*/ Vec<u8>>>, // retransmit_sender
)>,
argument to Blockstore::do_insert_shreds.
* remove solana-program from clap-utils * missing feature activation
* remove solana-program from solana-vote * trigger ci * trigger ci
Legacy shreds are discarded on all clusters: https://github.com/anza-xyz/agave/blob/91d0d0cae/ledger/src/shred.rs#L1275-L1277 Removing the branch to recover legacy shreds would allow to further simplify and optimize shreds recovery code.
* remove solana-program from address-lookup-table-program * sort deps
* build(deps): bump borsh from 1.5.4 to 1.5.5 Bumps [borsh](https://github.com/near/borsh-rs) from 1.5.4 to 1.5.5. - [Release notes](https://github.com/near/borsh-rs/releases) - [Changelog](https://github.com/near/borsh-rs/blob/master/CHANGELOG.md) - [Commits](near/borsh-rs@borsh-v1.5.4...borsh-v1.5.5) --- updated-dependencies: - dependency-name: borsh dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> * Update all Cargo files --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…om 0.2.0 to 0.2.1 (#4549) * build(deps): bump spl-token-confidential-transfer-proof-extraction Bumps [spl-token-confidential-transfer-proof-extraction](https://github.com/solana-program/token-2022) from 0.2.0 to 0.2.1. - [Release notes](https://github.com/solana-program/token-2022/releases) - [Commits](https://github.com/solana-program/token-2022/compare/js@v0.2.0...js@v0.2.1) --- updated-dependencies: - dependency-name: spl-token-confidential-transfer-proof-extraction dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> * Update all Cargo files --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Ingesting shreds unnecessarily allocates a HashSet to remove invalid repair-meta: https://github.com/anza-xyz/agave/blob/0f56076a2/core/src/window_service.rs#L250 and a separate vector for repair flags: https://github.com/anza-xyz/agave/blob/0f56076a2/core/src/window_service.rs#L338-L341 Similarly Blockstore::insert_shreds (called in broadcast-stage to insert own shreds during leader slots), allocates a vector for repair flags: https://github.com/anza-xyz/agave/blob/0f56076a2/ledger/src/blockstore.rs#L1381 All can be avoided if blockstore insert_shreds api are updated to take an argument of type shreds: impl ExactSizeIterator<Item = (Shred, /*is_repaired:*/ bool)>,
* build(deps): bump semver from 1.0.24 to 1.0.25 Bumps [semver](https://github.com/dtolnay/semver) from 1.0.24 to 1.0.25. - [Release notes](https://github.com/dtolnay/semver/releases) - [Commits](dtolnay/semver@1.0.24...1.0.25) --- updated-dependencies: - dependency-name: semver dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> * Update all Cargo files --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump indexmap from 2.7.0 to 2.7.1 Bumps [indexmap](https://github.com/indexmap-rs/indexmap) from 2.7.0 to 2.7.1. - [Changelog](https://github.com/indexmap-rs/indexmap/blob/master/RELEASES.md) - [Commits](indexmap-rs/indexmap@2.7.0...2.7.1) --- updated-dependencies: - dependency-name: indexmap dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> * Update all Cargo files --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
`sender` and `receiver` are a bit generic and reduces readability.
Numeric types already implement
fn from_{le,be}_bytes(bytes: [u8; N]) -> Self
fn to_{le,be}_bytes(&self) -> [u8; N]
and an external dependencies is superfluous.
* Switch some functions in net-utils to tokio * organize code better by splitting echo-client functions into a separate file --------- Co-authored-by: Greg Cusack <greg.cusack@anza.xyz>
* add thread manager base functionality * add park/unpark metrics collection for tokio runtimes * support basic core affinity and priority * examples of use and demo of benefits --------- Co-authored-by: Alex Pyattaev <alex.pyattaev@anza.xyz> Co-authored-by: Andrew Fitzgerald <apfitzge@gmail.com> Co-authored-by: kirill lykov <lykov.kirill@gmail.com>
* Converted StableVec to use u64 virtual addresses rather than physical * Removed an extraneous comment * Cleaned up the use statement * Update stable_vec.rs to fix a non-building test after field rename
* extract loader-v3-interface * fix doctests * update path in doc comment Co-authored-by: Jon C <me@jonc.dev> --------- Co-authored-by: Jon C <me@jonc.dev>
ci: use ubuntu-22.04 github runner (#4934) (cherry picked from commit abb639b) Co-authored-by: Yihau Chen <yihau.chen@icloud.com>
ci: use ssl 3.4.1 for Windows (#4944) (cherry picked from commit 130b1d2) Co-authored-by: Yihau Chen <yihau.chen@icloud.com>
…954) Scheduler: earlier fee check on receive (#4865) (cherry picked from commit 81d19c0) Co-authored-by: Andrew Fitzgerald <apfitzge@gmail.com>
…961) * validator: Deprecate etcd tower storage (#4956) All etcd configuration arguments are deprecated, and with etcd deprecated, --tower-storage will also be deprecated as "file" would be the only remaining option (cherry picked from commit 1ed4f17) # Conflicts: # validator/src/commands/run/args.rs * resolve merge issue --------- Co-authored-by: steviez <steven@anza.xyz>
…#4969) (#4972) sdk: Bump all SDK crates for relaxed dependencies (#4969) * sdk: Bump all SDK crates for relaxed dependencies #### Problem The SDK relaxed its internal dependencies in anza-xyz/solana-sdk#27, but the monorepo is still using the pinned versions. #### Summary of changes Update all SDK crates to their next version. For almost all of them, that's v2.2.1 Otherwise, the address-lookup-table-interface crates goes to v2.2.2, and the loader-v3-interface goes to v3.0.0 due to a breaking change. To keep this PR small, the logic changes required for v3.0.0 are not implemented, and must be done in follow-up work, which essentially means reapplying the changes from #4661. * Return errors instead of panicking (cherry picked from commit a1ed2b1) Co-authored-by: Jon C <me@jonc.dev>
ba3de1e to
272998a
Compare
BretasArthur1
approved these changes
Nov 3, 2025
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.
Refactoring and minor things: