Fix broken parallelism in quic-client (#2526)
* Fix broken parallelism in quic-client
Fixes excessive fragmentation by TPU clients leading to a large
number of streams per conn in 'sending' state simultaneously.
This, in turn, requires excessive in-memory buffering server-side
to reassemble fragmented transactions.
- Simplifies QuicClient::send_batch to enqueue send operations
in sequential order
- Removes the "max_parallel_streams" config option
The quic-client now produces an ordered fragment stream when
scheduling send operations from a single-thread.
* quic-client: remove outdated test
---------
Co-authored-by: Richard Patel <ripatel@jumptrading.com>
Co-authored-by: Alessandro Decina <alessandro.d@gmail.com>
(cherry picked from commit 76cbf1a91c)
Co-authored-by: ripatel-fd <ripatel+git@jumptrading.com>
Invoke ancient slots shrinking only if skipping rewrites is enabled (#3266)
(cherry picked from commit 8ff5dae418)
Co-authored-by: dmakarov <dmakarov@users.noreply.github.com>
program-runtime: double program cache size (#3481)
The cache is currently getting thrashed and programs are getting
reloaded pretty much at every single slot. Double the cache size, which
makes reloading happen only due to random eviction sometimes picking a
popular entry.
The JIT code size with the new cache size is about 800MB.
This change reduces jit time 15x.
(cherry picked from commit fb4adda5a8a59d7eafe942157260c023b962925a)
Co-authored-by: Alessandro Decina <alessandro.d@gmail.com>
* Revert "Cleanup - Removes the owner form the result of `filter_executable_program_accounts()` (#879)"
This reverts commit 5fe30cb788.
* Revert "Refactor - Remove `program_accounts_map` from account_loader (#768)"
This reverts commit e7617a1b1f.
CI: Pin downstrem SPL job to v2.0 branch
##### Problem
SPL is about to update to use the v2.1 crates, which will cause the
downstream jobs to fail for branch v2.0.
#### Summary of changes
Checkout the `v2.0` branch from the SPL repo for the downstream tests.
ledger-tool: Fix create-snapshot default value for output_directory (#3148)
The arguments to specify full and incremental snapshot archives paths
used to be a global argument; these were moved to only be instantiated
on commands that needed them in #1773.
But, when the arguments were moved from app-level to subcommand-level,
the code that matches the arguments was not updated to look at
subcommand-matches instead of app-matches.
(cherry picked from commit 1d9947cd68)
Co-authored-by: steviez <steven@anza.xyz>
token-2022: Use mainnet-beta binary in all tools (#3165)
#### Problem
The binary of token-2022 bundled in program-test and fetch-spl.sh is
very out of date with what's currently running on mainnet.
#### Summary of changes
Update the shared object and version to fetch.
(cherry picked from commit 96955661f7)
Co-authored-by: Jon C <me@jonc.dev>
link openssl statically for Windows (#3118)
* ci: fix windows pipeline
* vendor openssl for windows
* add comment for the workaround
(cherry picked from commit 49d2298762)
Co-authored-by: Yihau Chen <yihau.chen@icloud.com>
reworks max number of outgoing push messages (#3016)
max_bytes for outgoing push messages is pretty outdated and does not
allow gossip to function properly with current testnet cluster size.
In particular it does not allow to clear out queue of pending push
messages unless the new_push_messages function is called very frequently
which involves repeatedly locking/unlocking CRDS table.
Additionally leaving gossip entries in the queue for the next round will
add delay to propagating push messages which can compound as messages go
through several hops.
(cherry picked from commit 489f483e1d)
Co-authored-by: behzad nouri <behzadnouri@gmail.com>
* banking_stage: do not insert legacy vote ixs, refactor & unstaked (#2888)
* banking_stage: do not insert legacy vote ixs, refactor & unstaked
* pr feedback: use matches instead of separate fn
(cherry picked from commit 1334fb5248)
# Conflicts:
# core/src/banking_stage/latest_unprocessed_votes.rs
* fix conflicts
* rekey feature to indicate it must not be activated
---------
Co-authored-by: Ashwin Sekar <ashwin@anza.xyz>
Co-authored-by: Ashwin Sekar <ashwin@solana.com>
excludes node's pubkey from bloom filter of pruned origins (#2990)
Bloom filter of pruned origins can return false positive for a node's
own pubkey but a node should always be able to push its own values to
other nodes in the cluster.
(cherry picked from commit bce28c0282)
Co-authored-by: behzad nouri <behzadnouri@gmail.com>
rolls out chained Merkle shreds to 100% of testnet slots (#2858)
(cherry picked from commit a15fef1b26)
Co-authored-by: behzad nouri <behzadnouri@gmail.com>
fix: set allocation size to 0 for transactions known to fail (#2966)
(cherry picked from commit 443246dee0)
Co-authored-by: Justin Starry <justin@anza.xyz>
Publish Agave docs (#2887)
* Add publish-docs.sh to build.sh
* Add debugging echos
* Fake being in CI
* Update vercel doc project names
* Remove debugging echos. Remove CI var.
(cherry picked from commit 383b49fdc8)
Co-authored-by: Will Hickey <will.hickey@anza.xyz>
remove disable_block_production_forwarding cli flag (#2687)
(cherry picked from commit df892c4241)
Co-authored-by: Andrew Fitzgerald <apfitzge@gmail.com>
extends Turbine fanout experiment to wider fanout values (#2373)
Based on previous Turbine fanout experiment, wider fanouts are more
effective in propagating shreds and reducing repairs:
https://discord.com/channels/428295358100013066/478692221441409024/1265782094211321897
In order to identify optimal fanout value, this commit extends the
experiment with wider fanout values.
(cherry picked from commit 57144b0cea)
Co-authored-by: behzad nouri <behzadnouri@gmail.com>