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>
* Make Rust definitions of C types repr(C)
* Make SolInstruction field types agree with C definitions
* Use correct SolSignerSeedsC type in SyscallInvokeSignedC
* rustfmt
* Change asserts to debug asserts in syscall.rs
This PR renames BlockstoreAdvancedOptions to LedgerColumnOptions, as we will
pass-down this struct to LedgerColumn to allow it to perform metric reporting.
* support u8 slice in frozen abi digester
* use slice in account struct
* add bpf cargo lock file
* no need to pass account.data to serializer
* fix comments