gossip: do not allow duplicate proofs for incorrect shred versions (#1931)
* gossip: do not allow duplicate proofs for incorrect shred versions
* pr feedback: refactor test function to take shred_version
(cherry picked from commit 69ea21e947)
Co-authored-by: Ashwin Sekar <ashwin@anza.xyz>
* ci: skip spl test when version is too high (#1945)
(cherry picked from commit 4d9d27f1ff)
# Conflicts:
# .github/workflows/downstream-project-spl.yml
* fix conflict
---------
Co-authored-by: Yihau Chen <yihau.chen@icloud.com>
* v1.18: Use updated branch for curve25519-dalek
RUSTSEC-2024-0344 was announced so update to a branch that contains the
commits that were created in response to the advisory.
We must do this manually as the v1.18 branch is built against
curve25519-dalek 3.2.1; this is not the latest major release and the
maintainers have chosen not to push changes to their older release
branches
* ci: ignore curve25519-dalek audit temporarily (#1786)
ci: ignore curve25519-dalek audit
* Review feedback - more specific link to the "why" information
---------
Co-authored-by: Yihau Chen <yihau.chen@icloud.com>
accounts-db: fix 8G+ memory spike during hash calculation (#1308)
We were accidentally doing several thousands 4MB allocations - even
during incremental hash - which added up to a 8G+ memory spikes over ~2s
every ~30s.
Fix by using Vec::new() in the identity function. Empirically 98%+
reduces join arrays with less than 128 elements, and only the last few
reduces join large vecs. Because realloc does exponential growth we
don't see pathological reallocation but reduces do at most one realloc
(and often 0 because of exp growth).
(cherry picked from commit 2c71685b94)
Co-authored-by: Alessandro Decina <alessandro.d@gmail.com>
patches bug in chained Merkle root update (#1689)
Option::ok_or_else always maps None to Err which is not what was intended in
this code.
(cherry picked from commit e804bcce29)
Co-authored-by: behzad nouri <behzadnouri@gmail.com>
Update patch paths for tokio, crossbeam, and curve25519-dalek (#1681)
Update patch paths after moving the forks of tokio, crossbeam, and curve25519-dalek to anza-xyz
(cherry picked from commit ada1830f5a)
Co-authored-by: Will Hickey <csu_hickey@yahoo.com>
adds a metric for number of unverified gossip addresses (#1671)
(cherry picked from commit 2493542020)
Co-authored-by: behzad nouri <behzadnouri@gmail.com>
ci: improve version update script (#1553)
* only apply related changes when bumping version
* ignore Cargo.toml if no match version
* fix shell check
* follow shellcheck SC2035
(cherry picked from commit 5ff77062b2)
Co-authored-by: Yihau Chen <yihau.chen@icloud.com>
retains chained Merkle root across leader slots (#1057)
Looking up Merkle root of the last erasure batch for the parent block
can fail if the slot-meta is not yet available in blockstore.
This commit instead retains chained Merkle root across leader slots. If
the parent of the current block is the previous leader slot, then the
chained Merkle root is readily available and we can bypass blockstore
lookup.
(cherry picked from commit 6b45dc95d8)
Co-authored-by: behzad nouri <behzadnouri@gmail.com>
consensus: make shallow threshold checks log only (#1506)
* consensus: make shallow threshold checks log only
* pr feedback: comment, make check more readable
(cherry picked from commit 6859d652b2)
Co-authored-by: Ashwin Sekar <ashwin@anza.xyz>
Bugfix: clean_queue pushes valid transactions back into queue (#1294)
(cherry picked from commit 92734e0afb)
Co-authored-by: Andrew Fitzgerald <apfitzge@gmail.com>
reverts back in SocketAddr dedup in retransmit stage (#1106)
This was erronously deemed as unnecessary and removed in:
https://github.com/anza-xyz/agave/pull/864
The commit partially reverts #864 and adds back socket-addr dedup.
(cherry picked from commit fbe1dbc758)
Co-authored-by: behzad nouri <behzadnouri@gmail.com>
* Fix - Reloading of unload entries after finishing the recompilation phase (#1199)
* Differentiate entries by environment instead of adjusting the effective slot.
* Adds comments inside ProgramCache::assign_program().
* Adds reproducer to test_feature_activation_loaded_programs_epoch_transition.
* Fixes env order in test_feature_activation_loaded_programs_recompilation_phase().
* Syncs both tests with master.
---------
(cherry picked from commit 979f619077)
Co-authored-by: Alexander Meißner <AlexanderMeissner@gmx.net>
ci: don't self-update rustup when using the rust-version script (#1209)
* ci: don't update rustup when using the rust-version script
* XXX: fake updates for triggering all
* Revert "XXX: fake updates for triggering all"
This reverts commit b343e61ad36f4b2108b06faa66c2525b6eedad33.
(cherry picked from commit 206a87ab5d)
Co-authored-by: Yihau Chen <yihau.chen@icloud.com>