Commit Graph

21447 Commits

Author SHA1 Message Date
behzad nouri 1c7662a37f
asserts that cluster-info keypair is consistent with contact-info id (#29818) 2023-01-24 16:57:55 +00:00
Jeff Washington (jwash) cac52b0819
trait ShrinkCollectRefs (#29830) 2023-01-24 08:43:50 -08:00
Jeff Washington (jwash) 8d4603edfb
update tests storages -> storage (#29837) 2023-01-24 07:54:28 -08:00
Jeff Washington (jwash) 79843fcbe7
update tests for 1 append vec per slot (#29836) 2023-01-24 07:53:54 -08:00
Jeff Washington (jwash) 5d24745464
if 0 alive accounts, don't create ancient append vec (#29842) 2023-01-24 07:52:31 -08:00
steviez be7ec87b9b
Reduce cpuid reporting frequency to once an hour (#29849) 2023-01-24 09:27:43 -06:00
Yihau Chen aef1a4301c
use gh cli to get affected files (#29823)
use gh client to get affected files
2023-01-24 18:47:58 +08:00
Brooks 631dd573da
Upgrades to Rust 1.66.1 (#29827) 2023-01-24 15:11:10 +08:00
Michael d53f02ec51
Remove lamports-per-byte-year and lamports-per-epoch from rent as all… (#29731)
Remove lamports-per-byte-year and lamports-per-epoch from rent as all accounts must be rent exempt
2023-01-24 00:04:54 -06:00
Brennan Watt a72c2ec459
Reduce TPU connection pool size for test (#29831) 2023-01-23 17:00:53 -08:00
Kevin Ji dd92f225bb
Use Ipv4Addr::{LOCALHOST, UNSPECIFIED} constants (#29813) 2023-01-23 16:49:51 -06:00
steviez f1b2e49b03
Cleanup FindPacketSenderStakeReceiver function args (#29834)
find_packet_sender_stake_stage::FindPacketSenderStakeReceiver is quite
verbose to include in function arguments, and type name is descriptive
enough that it doesn't need to be qualified with the crate name in every
instance.
2023-01-23 16:40:18 -06:00
Ashwin Sekar 3e8874e3a2
Clear parent in repair weighting when dumping from replay (#29770) 2023-01-23 12:55:09 -08:00
behzad nouri bd9b311c63
adds frozen_abi annotations to repair service enums/structs (#29820)
... in order to keep types backward compatible.
2023-01-23 16:49:06 +00:00
steviez 206a1c7296
Reduce the amount of IO that LedgerCleanupService performs (#29239)
Currently, the cleanup service counts the number of shreds in the
database by iterating the entire SlotMeta column and reading the number
of received shreds for each slot. This gives us a fairly accurate count
at the expense of performing a good amount of IO.

Instead of counting the individual slots, use the live_files()
rust-rocksdb entrypoint that we expose in Blockstore. This API allows us
to get the number of entries (shreds) in the data shred column family by
reading file metadata. This is much more efficient from IO perspective.
2023-01-23 04:39:47 -06:00
Tyera b35d173c04
Remove bank_transaction_count_fix logic (#29695)
* Remove bank_transaction_count_fix logic

* Fix test and add comment
2023-01-22 15:59:35 +08:00
behzad nouri 590b75140f
removes legacy retransmit tests (#29817)
Retransmit code has moved to core/src/cluster_nodes.rs and has been
significantly revised.
gossip/tests/cluster_info.rs is testing the old code which is no longer
relevant.
2023-01-21 22:28:48 +00:00
behzad nouri d75303f541
patches bug in sigverify-shreds when identity is hot-swapped (#29802)
Sigverify-shreds discards shreds from node's own leader slots:
https://github.com/solana-labs/solana/blob/6baab92ab/core/src/sigverify_shreds.rs#L153-L154

But if the identity is hot-swapped the pubkey would be wrong since it
is instantiated only once at startup:
https://github.com/solana-labs/solana/blob/6baab92ab/core/src/tvu.rs#L168
2023-01-21 20:07:41 +00:00
behzad nouri 272e667cb2
deprecates Pubkey::new in favor of Pubkey::{,try_}from (#29805)
The commit deprecates Pubkey::new which lacks type-safety and instead
implements TryFrom<&[u8]> and TryFrom<Vec<u8>> for Pubkey.
2023-01-21 18:06:27 +00:00
Kevin Ji f4339bc0f2
faucet: Expose time-slice, per-time-cap, and per-request-cap in test validator (#29812) 2023-01-21 08:18:49 -08:00
Brooks db10073c36
Promotes accounts delta hash to its own type (#29768) 2023-01-20 14:23:56 -05:00
Brooks 6baab92ab5
Refactors calculate_capitalization() (#29790) 2023-01-20 13:38:41 -05:00
apfitzge 8c793da7d0
BankingStage Refactor: Move decision making functions to new module (#29788)
Move decision making functions to new module
2023-01-20 10:10:47 -08:00
apfitzge 5fc83a3d19
BankingStage Refactor: Separate Next Leader Functions (#29401)
Separate next_leader functions
2023-01-20 10:02:29 -08:00
behzad nouri 64c13b74d8
errors out when retransmit loopbacks to the slot leader (#29789)
When broadcasting shreds, turbine excludes the slot leader from the
random shuffle. Doing so, shreds should never loopback to the leader.
If shreds reaching retransmit stage are from the node's own leader slots
they should not be retransmited to any nodes.
2023-01-20 17:20:51 +00:00
valiksinev 5f7fea100a
Big integer modular exponentiation (EIP-198) (#28503)
* big_mod_exp impl

* fix programs/sbf/Cargo.lock

* ComputeBudget impl

* update compute_budget

* compute_budget update

* fix build

* fix tests

* fix cargo clippy

* fix clippy

* fix bpf_loader dependency sorting

* fix sorting

* fix merge from master

* fix cargo fmt

* fix C-tests

* fix cargo fmt

* comments apply

* fix programs/sbf/Cargo.lock

* update compude_budget cost

* remove whitespaces

* fix cargo fmt

Co-authored-by: sinev-valentine <sinev-valentine@yandex.ru>
2023-01-20 18:42:37 +09:00
Trent Nelson 9a5aca36e6
validator: remove `--no-duplicate-instance-check` (#29785) 2023-01-19 14:51:40 -07:00
Brooks 0a0c532c86
Refactors verify_bank_hash_and_lamports() (#29783) 2023-01-19 16:14:39 -05:00
Wen b36791956e
Ingest duplicate proofs sent through Gossip (#29227)
* First draft of ingesting duplicate proofs in Gossip into blockstore.

* Add more unittests.

* Add more unittests for bad cases.

* Fix lint errors for tests.

* More linter fixes for tests.

* Lint fixes

* Rename get_entries, move location of comment.

* Some renaming changes and comment fixes.

* Fix compile warning, this enum is not used.

* Fix lint errors.

* Slow down cleanup because this could potentially be expensive.

* Forgot to reset cleanup count.

* Add protection against attackers when constructing chunk map when
we ingest Gossip proofs.

* Use duplicate shred index instead of get_entries.

* Rename ClusterInfoDuplicateShredListener and fix a few small problems.

* Use into_shreds to piece together the proof.

* Remove redundant code.

* Address a few small errors.

* Discard slots too advanced in the future.

* - Use oldest proof for each pubkey
- Limit number of pubkeys in each slot to 100

* Disable duplicate shred handling for now.

* Revert "Disable duplicate shred handling for now."

This reverts commit c3fcf403876cfbf90afe4d2265a826f21a5e24ab.
2023-01-19 13:00:56 -08:00
apfitzge 9fa3cb659c
Add conflict groups to bench-tps (#29513)
* Add conflict groups to bench-tps

* Add tests for KeyChunks initialization

* Add validation for num-conflict-groups

* Refactor of destination key generation

* Clarify in comments it is slice, not vector

* Use repeat_with in tests
2023-01-19 11:58:43 -08:00
behzad nouri d463bcc5f8
removes manual implementations of Default for enums (#29779) 2023-01-19 19:25:30 +00:00
apfitzge 2c347ac0a5
BankingStage Refactor: Move packet receiving and buffering functions to separate module (#29761)
Move packet receiving and buffering functions to separate module
2023-01-19 08:52:32 -08:00
aditya-solana 62312f95a9
Mention that the document is stale. (#29769) 2023-01-19 07:37:17 -08:00
Yihau Chen e7838768ec
ci: fix commit range in push event (#29755)
* fix commit range

* use github.event.before instead of HEAD~1
2023-01-19 12:28:00 +08:00
Trent Nelson c4e43f1de4
vote: encapsulate `Lockout` (#29753) 2023-01-18 19:28:28 -07:00
Ryo Onodera 4973fe18f1
Rename banking stage packet receivers consistently (#29752)
Rename banking stage batch receivers consistently
2023-01-19 10:04:55 +09:00
nvsriram 2c728bb172
Explorer: Add toggle for raw tx logs (#29765)
Add toggle for raw tx logs
2023-01-18 19:27:30 -05:00
carllin 1753a0e3af
Revert "Do not exclude failed simple vote transactions from consensus" (#29745)
This reverts commit b4237f3f2c.
2023-01-18 15:13:13 -05:00
Jeff Washington (jwash) 9d2c71b9a3
remove type SnapshotStoragesOne (#29750) 2023-01-18 11:51:08 -08:00
nvsriram df92d8ff3d
Explorer: Fix crash on failed anchor account parsing (#29760)
Fix crash on failed anchor account parsing
2023-01-18 12:29:47 -06:00
behzad nouri 9f2910e962
factors out common gossip {push,pull}_options code (#29737) 2023-01-18 17:43:09 +00:00
Jeff Washington (jwash) aef8692c8f
remove SnapshotStorageOne (#29747) 2023-01-18 07:10:56 -08:00
Illia Bobyr 6e4ecc6758
RPC getPerformanceSamples: Add `numNonVoteTransaction` (#29388)
Allow interested parties to see both total and non-vote transaction
counts in each performance sample.

Fixes https://github.com/solana-labs/solana/issues/29159
2023-01-18 00:22:47 -08:00
Ryo Onodera 55d743c49a
Rename remaining ones to replay_vote_{sender,receiver} (#29716)
* Rename remaining ones to replay_vote_{sender,receiver}

* Fix typo...
2023-01-18 14:14:04 +09:00
Ryo Onodera 254381e3ca
Bump chrono to v0.4.23 (#29709)
* Bump chrono to v0.4.23

* fmt...
2023-01-18 13:54:02 +09:00
Nick Frostbutter 29ed19c5e0
docs: updated readme (#29561) 2023-01-17 22:14:05 -06:00
Nick Frostbutter 1345e89507
docs: update Docusaurus to v2.2 (#29563)
* build: update docusaurus

* fix: algolia keys

* fix: frontmatter keywords array

* build: clsx version

* fix: card layout and pages

* fix: invalid internal link
2023-01-17 22:13:10 -06:00
steviez 9bd0ce4082
ledger-tool: Clean account paths in all cases (#29609)
The existing logic would clean account paths only when we had secondary
access to the blockstore. However, the access mode shouldn't dictate
when we clean accounts data; we can and should clean account data from
previous runs in all instances given that we always start over from a
snapshot.
2023-01-17 21:53:51 -06:00
Jeff Biseda f9062718c4
prioritize repair requests by stake (#29730) 2023-01-17 18:38:10 -08:00
Trent Nelson 8e02744c73
security-policy: correct bounty split example 2023-01-17 16:19:38 -07:00