* Rpc: Add custom error for BigTable data not found (#14762)
* Expose not-found bigtable error
* Add custom rpc error for bigtable data not found
* Return custom rpc error when bigtable block is not found
* Generalize long-term storage
(cherry picked from commit 71e9958e06)
# Conflicts:
# client/src/rpc_custom_error.rs
* Fix conflicts
Co-authored-by: Tyera Eulberg <teulberg@gmail.com>
Co-authored-by: Tyera Eulberg <tyera@solana.com>
* Configure bigtable's timeout when read-only
* Review comments
* Apply nits (thanks!)
Co-authored-by: Michael Vines <mvines@gmail.com>
* Timeout in the streamed decoding as well
Co-authored-by: Michael Vines <mvines@gmail.com>
(cherry picked from commit dcaa025822)
Co-authored-by: Ryo Onodera <ryoqun@gmail.com>
* Avoid tmp snapshot backlog in SnapshotPackagerService under high load (#14516)
(cherry picked from commit a95675a7ce)
# Conflicts:
# core/src/validator.rs
* rebase
Co-authored-by: Michael Vines <mvines@gmail.com>
record_labels returns all the possible labels for a record identified by
a pubkey, used in updating timestamp of crds values:
https://github.com/solana-labs/solana/blob/1792100e2/core/src/crds_value.rs#L560-L577https://github.com/solana-labs/solana/blob/1792100e2/core/src/crds.rs#L240-L251
The code relies on CrdsValueLabel to be limited to a small deterministic
set of possible values for a fixed pubkey. As we expand crds values to
include duplicate shreds, this limits what the duplicate proofs can be
keyed by in the table.
In addition the computation of these labels is inefficient and will
become more so as duplicate shreds and more types of crds values are
added. An alternative is to maintain an index of all crds values
associated with a pubkey.
(cherry picked from commit c2b7115031)
Co-authored-by: behzad nouri <behzadnouri@gmail.com>
* core: Update stale error message
(cherry picked from commit 82f61c0c4a)
* validator: Add experimental flag to select PoH pinned core
(cherry picked from commit fe667db910)
Co-authored-by: Trent Nelson <trent@solana.com>
* Deinitialize nonce data upon zero balance
(cherry picked from commit 3881ae10fb)
* vote: Add helper for creating current-versioned states
(cherry picked from commit 5b903318b2)
* Deinitialize vote data upon zero balance
(cherry picked from commit db5bd6ea1a)
* Deinitialize stake data upon zero balance
(cherry picked from commit 50710473a8)
Co-authored-by: Trent Nelson <trent@solana.com>
* Add blockstore api to determine if a slot was skipped
* Return custom rpc error if slot is skipped
(cherry picked from commit ac0d32bc7e)
Co-authored-by: Tyera Eulberg <teulberg@gmail.com>
* adds the instance token to crds-labels for node-instance crds-values (#14037)
If a node "a" receives instance-info from node "b1" it will override any
instance-info associated with "b1" pubkey in its crds table. This makes
it less likely that when "b1" receives crds values from "a" (either
through pull or push), it sees other instances of itself (because node
"a" discarded them when it received "b1" instance info).
In order for the crds table to contain all instance-info associated with
the same pubkey at the same time, we need to add the instance tokens to
the keys in the crds table (i.e. the CrdsValueLabel).
(cherry picked from commit 409fe3bca1)
# Conflicts:
# core/src/cluster_info.rs
* removes backport merge conflicts
Co-authored-by: behzad nouri <behzadnouri@gmail.com>
* checks for duplicate validator instances using gossip
(cherry picked from commit 8cd5eb9863)
# Conflicts:
# core/src/cluster_info.rs
* pushes node-instance along with version early in gossip
(cherry picked from commit 542198180a)
* removes RwLock on ClusterInfo.instance
(cherry picked from commit 895d7d6a65)
# Conflicts:
# core/src/cluster_info.rs
* std::process::exit to kill all threads
(cherry picked from commit 1d267eae6b)
* removes backport merge conflicts
Co-authored-by: behzad nouri <behzadnouri@gmail.com>