- 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 924b8ea1eb)
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 2282571493)
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 7cb3b6cbe2)
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 1f9c89c1e8)
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 cda3d66b21)
Co-authored-by: behzad nouri <behzadnouri@gmail.com>
* add get_confirmed_blocks_with_data and get_protobuf_or_bincode_cells
(cherry picked from commit f3219fb695)
* appease clippy
(cherry picked from commit 5533e9393c)
* use &[T] instead of Vec<T> where appropriate
clippy
(cherry picked from commit fbcf6a0802)
* modify get_protobuf_or_bincode_cells to accept and return an iterator
(cherry picked from commit f717fda9a3)
* make get_protobuf_or_bincode_cells accept IntoIter on row_keys, make get_confirmed_blocks_with_data return an Iterator
(cherry picked from commit d8be0d9430)
Co-authored-by: Edgar Xi <edgarxi97@gmail.com>
* Update TpuConnection interface to be compatible with versioned txs
* Add convenience method for sending txs
* use parallel iterator to serialize transactions
(cherry picked from commit 016d3c450a)
Co-authored-by: Justin Starry <justin@solana.com>
* Use QUIC client in voting service
* guard quic-client usage with a flag
* add measure to time the quic client
* move time measure outside if block
* remove quic vs UDP flag from voting service
(cherry picked from commit 5d03b188c8)
Co-authored-by: Pankaj Garg <pankaj@solana.com>
Added command-line argument tpu-use-quic argument.
Changed connection cache to return different connections based on the config.
(cherry picked from commit ae76fe2bd7)
Co-authored-by: Lijun Wang <83639177+lijunwangs@users.noreply.github.com>