* Impl BenchTpsClient for RpcClient
* Support RpcClient in bench-tps
(cherry picked from commit 96e3555e93b826a77724454b8c73e83e61516743)
Co-authored-by: Tyera Eulberg <tyera@solana.com>
- Tweak linker script
Ensure that all read only sections end up in one segment, and
everything else in other segments. Discard .eh_frame, .hash and
.gnu.hash since they are unused.
- Don't create invalid string slices in stdout/stderr on Solana
- Report exceeded stack size as a warning if dynamic frames are off
- Native support for signed division in SBF
Adds BPF_SDIV, which is enabled only for the SBF subtarget.
- Introduce dynamic stack frames and the SBFv2 flag
Dynamic stack frames are currently opt-in and enabled setting
cpu=sbfv2. When sbfv2 is used, ELF files are flagged with
e_flags=EF_SBF_V2 so the runtime can detect it and react
accordingly.
(cherry picked from commit 6b611e1c52f6f7fa0ea0b18820058a4ab671aafe)
Co-authored-by: Dmitri Makarov <dmakarov@alumni.stanford.edu>
* Add BenchTpsClient trait (#24208)
* Add BenchTpsClient
* Impl BenchTpsClient for used clients
* Use BenchTpsClient in do_bench
* Update integration test to use faucet via rpc
* Support keypairs from file that are not prefunded
* Remove old perf-utils
(cherry picked from commit 3871c85fd73c3dd3e34c63b3ec81cedb63eb4e4a)
# Conflicts:
# bench-tps/Cargo.toml
* Fix conflicts
Co-authored-by: Tyera Eulberg <tyera@solana.com>
Change thin-client to use connection-cache
(cherry picked from commit 8b72200afb3f7b6eb8db2d5735cdb48246ab1b37)
Co-authored-by: ryleung-solana <91908731+ryleung-solana@users.noreply.github.com>
- don't store pending tx signatures and costs in CostTracker
- apply tx costs to global state immediately again
- go from commit_or_cancel to update_or_remove, where the cost tracker
is either updated with the true costs for successful tx, or the costs
of a retryable tx is removed
- move the function into qos_service and hold the cost tracker lock for
the whole loop
(cherry picked from commit 924b8ea1eb4a9a59de64414d24e85fe0345685fe)
- In-fly transactions are pended in cost_tracker until being committed
or cancelled;
(cherry picked from commit 9e07272af805ac562f93276c53b165a67d9ca1c1)
* providing clarity on airdrop amount constraints
This change is in response to a review of a PR in the `solana-program-library` found here: https://github.com/solana-labs/solana-program-library/pull/3062
* replaced static limits with info on how to find them
* removed trailing whitespace
(cherry picked from commit 781094edb2a8a9a905be128353eba5437ff2368d)
Co-authored-by: T.J. Kyner <78994885+tjkyner@users.noreply.github.com>
Older weighted_shuffle is based on a heuristic which results in biased
samples as shown in:
https://github.com/solana-labs/solana/pull/18343
and can be replaced with WeightedShuffle.
Also, as described in:
https://github.com/solana-labs/solana/pull/13919
weighted_best can be replaced with rand::distributions::WeightedIndex,
or WeightdShuffle::first.
(cherry picked from commit db23295e1ceae090bd0d3c6f9bcf130f726fcc91)
Co-authored-by: behzad nouri <behzadnouri@gmail.com>
test_skip_repair in retransmit-stage is no longer relevant because
following: https://github.com/solana-labs/solana/pull/19233
repair packets are filtered out earlier in window-service and so
retransmit stage does not know if a shred is repaired or not.
Also, following turbine peer shuffle changes:
https://github.com/solana-labs/solana/pull/24080
the test has become flaky since it does not take into account how peers
are shuffled for each shred.
(cherry picked from commit 228257149307fc295678ebe42813fdefe3368102)
Co-authored-by: behzad nouri <behzadnouri@gmail.com>
Since call-sites are calling unwrap anyways, panicking seems too punitive
for our use cases.
(cherry picked from commit 7cb3b6cbe225181ee8aab2f2a5d5e423a8990129)
Co-authored-by: behzad nouri <behzadnouri@gmail.com>
Current slot stats are removed when the slot is full or every 30 seconds
if the slot is before root:
https://github.com/solana-labs/solana/blob/493a8e234/ledger/src/blockstore.rs#L2017-L2027
In order to track if the slot is ultimately marked as dead or rooted and
emit more metrics, this commit expands lifetime of SlotStats while
bounding total size of cache using an LRU eviction policy.
(cherry picked from commit 1f9c89c1e8506346f7583a20c9203ab7360f1fd4)
Co-authored-by: behzad nouri <behzadnouri@gmail.com>
Now that nodes correctly populate position field in coding shreds, and
first_coding_index in erasure meta, the old code to maintain backward
compatibility can be removed.
The commit is working towards changing erasure coding schema to 32:64.
(cherry picked from commit cda3d66b21367bd8fda16e6265fa61e7fb4ba6c9)
Co-authored-by: behzad nouri <behzadnouri@gmail.com>