Jeff Biseda
6163a6c279
restructure repair decode error handling ( #29977 )
2023-01-31 02:44:58 -08:00
behzad nouri
fea66c8b63
derives Error trait for ClusterInfoError and core::result::Error ( #27208 )
2022-08-17 22:01:51 +00:00
Jeff Biseda
8b66625c95
convert std::sync::mpsc to crossbeam_channel ( #22264 )
2022-01-11 02:44:46 -08:00
Michael Vines
b8837c04ec
Reformat imports to a consistent style for imports
...
rustfmt.toml configuration:
imports_granularity = "One"
group_imports = "One"
2021-12-03 09:19:13 -08:00
Michael Vines
4a12c715a3
Drop Error suffix from enum values to avoid the enum_variant_names clippy lint
2021-06-18 23:02:13 +00:00
Tyera Eulberg
9a5330b7eb
Move gossip modules into solana-gossip crate ( #17352 )
...
* Move gossip modules to solana-gossip
* Update Protocol abi digest due to move
* Move gossip benches and hook up CI
* Remove unneeded Result entries
* Single use statements
2021-05-26 09:15:46 -06:00
Michael Vines
5df36aec7d
Pacify clippy
2021-02-19 20:08:41 -08:00
behzad nouri
491b059755
broadcasts duplicate shreds through gossip ( #14699 )
2021-01-24 15:47:43 +00:00
behzad nouri
8cd5eb9863
checks for duplicate validator instances using gossip
2020-12-09 10:24:23 -08:00
behzad nouri
c3048b451d
samples repair peers using WeightedIndex ( #13919 )
...
To output one random sample, weighted_best generates n random numbers:
https://github.com/solana-labs/solana/blob/f751a5d4e/core/src/weighted_shuffle.rs#L38-L63
WeightedIndex does so with only one random number:
https://github.com/rust-random/rand/blob/eb02f0e46/src/distributions/weighted_index.rs#L223-L240
Additionally, if the index is already constructed, it only does a total
of O(log(n)) amount of work; which can be achieved if RepairCache,
caches the weighted index:
https://github.com/solana-labs/solana/blob/f751a5d4e/core/src/serve_repair.rs#L83
Also, the repair-peers code can be reorganized to have fewer redundant
unlock-then-lock code.
2020-12-03 14:26:07 +00:00
carllin
1c1a3f979d
Detect and notify when deserializable shreds are available ( #11816 )
...
* Add logic to check for complete data ranges
* Add RPC signature notification
Co-authored-by: Carl <carl@solana.com>
2020-09-01 22:06:06 -07:00
carllin
73f3d04798
Add replay votes to gossip vote tracking ( #11119 )
...
* Plumb replay vote channel for notifying vote listener of replay votes
* Keep gossip only notification for debugging gossip in the future
Co-authored-by: Carl <carl@solana.com>
2020-07-20 17:29:07 -07:00
Greg Fitzgerald
6ee222363e
Move BankForks to solana_runtime ( #10637 )
...
* Move BankForks to solana_runtime
* Update imports
2020-06-17 15:27:03 +00:00
Kristofer Peterson
58ef02f02b
9951 clippy errors in the test suite ( #10030 )
...
automerge
2020-05-15 09:35:43 -07:00
Michael Vines
99432833d2
Remove reed-solomon-erasure from core/
2020-02-07 15:37:57 -07:00
Greg Fitzgerald
b5dba77056
Rename blocktree to blockstore ( #7757 )
...
automerge
2020-01-13 13:13:52 -08:00
Sagar Dhawan
79d7090867
Remove obsolete references to Blob ( #6957 )
...
* Remove the name "blob" from archivers
* Remove the name "blob" from broadcast
* Remove the name "blob" from Cluset Info
* Remove the name "blob" from Repair
* Remove the name "blob" from a bunch more places
* Remove the name "blob" from tests and book
2019-11-14 11:49:31 -08:00
Justin Starry
e8e5ddc55d
Verify number of hashes for each block of entries ( #6262 )
...
* Verify number of hashes for each block of entries
* Fix blocktree processor tick check
* Rebase once more
2019-10-31 16:38:50 -04:00
Greg Fitzgerald
2636418659
Move blocktree_processor to solana_ledger ( #6460 )
...
* Drop core::result dependency in bank_forks
* Move blocktree_processor into solana_ledger
2019-10-20 09:54:38 -06:00
Greg Fitzgerald
6e7dccbbfb
Add an error enum to snapshot_utils ( #6453 )
2019-10-18 19:16:06 -06:00
Greg Fitzgerald
5468be2ef9
Add solana-ledger crate ( #6415 )
...
automerge
2019-10-18 09:28:51 -07:00
Sagar Dhawan
1d0608200c
Restore blob size fix ( #5516 )
...
* Revert "Revert "Fix gossip messages growing beyond blob size (#5460 )" (#5512 )"
This reverts commit 97d57d168b
.
* Fix Crds filters
2019-08-13 18:04:14 -07:00
Sagar Dhawan
97d57d168b
Revert "Fix gossip messages growing beyond blob size ( #5460 )" ( #5512 )
...
This reverts commit a8eb0409b7
.
2019-08-13 10:29:26 -07:00
Sagar Dhawan
a8eb0409b7
Fix gossip messages growing beyond blob size ( #5460 )
...
* fixed bloom filter math
* Add split each pull request into multiple pulls with different filters
* Rework CrdsFilter to generate all possible masks to cover the keyspace
* Limit the bloom sizes such that each pull request is no larger than mtu
2019-08-12 13:51:29 -07:00
carllin
6cb2040a1b
Snapshot Packaging Service ( #5262 )
...
* Snapshot serialization and packaging
2019-07-31 17:58:10 -07:00
carllin
9a52b01171
Change to crossbeam channel in banking_threads VerifiedReceiver ( #4822 )
...
* Add crossbeam channel instead of channel in banking_stage
2019-06-26 18:42:27 -07:00
Rob Walker
6eac5951ed
Revert "Revert "revert-revert-erasure and erasure fixes ( #3833 )" ( #3855 )" ( #3889 )
...
This reverts commit 596f611ede
.
2019-04-18 21:56:43 -07:00
Pankaj Garg
596f611ede
Revert "revert-revert-erasure and erasure fixes ( #3833 )" ( #3855 )
...
This reverts commit 6bef16a6a1
.
2019-04-17 18:04:30 -07:00
Rob Walker
6bef16a6a1
revert-revert-erasure and erasure fixes ( #3833 )
...
* fix erasure, more tests for full blobs, more metrics
* Revert "Revert "Use Rust erasure library and turn on erasure (#3768 )" (#3827 )"
This reverts commit 4b8cb72977
.
2019-04-17 15:13:54 -07:00
sakridge
4b8cb72977
Revert "Use Rust erasure library and turn on erasure ( #3768 )" ( #3827 )
...
This reverts commit b9bb5af4a5
.
2019-04-17 12:52:12 -07:00
Mark E. Sinclair
b9bb5af4a5
Use Rust erasure library and turn on erasure ( #3768 )
...
* split out erasure into new crate; add implementation using rust reed-solomon-library
* Track erasures with a &[bool] instead of indexes
* fix bug that reported the number of erasures incorrectly
* Introduce erasure `Session` for consistent config
* Increase test coverage; fix bugs
* Add ability to remove blobs from erasure meta tracking. test added
* Track deletion of coding blobs in blocktree via ErasureMeta. Added to
test
* Remove unused functions in blocktree
* add randomness to recovery thread to exercise recovery due to either new
data or coding blobs
* Add unit test for ErasureMeta index handling
* Re-enable test in broadcast stage
2019-04-16 23:00:24 -05:00
Greg Fitzgerald
e58220282a
Move TransactionError into the SDK
2019-03-13 21:26:57 -06:00
Greg Fitzgerald
4ca4038d54
Rename BankError to TransactionError
2019-03-13 21:26:57 -06:00
Michael Vines
5f5d779ee1
Move src/ into core/src. Top-level crate is now called solana-workspace
2019-03-02 09:52:18 -08:00