Commit Graph

25284 Commits

Author SHA1 Message Date
Alessandro Decina 55ab7fadbc
quic: use smallvec to aggregate chunks, save 1 alloc per packet (#735)
quic: use smallvec, save one allocation per packet

Use smallvec to hold chunks. Streams are packet-sized so we don't expect
them to have many chunks. This saves us an allocation for each packet.
2024-04-11 12:25:35 +10:00
Alessandro Decina 85c6e412e0
quic: do ordered reads, save 1 BTreeMap allocation per packet (#736)
quic: switch to ordered reads

Unordered reads cause a BTreeMap allocation for each packet inside quinn
in Assembler::ensure_ordering.

Most streams will fit in one datagram and will therefore be ordered by
definition. Switch to ordered reads to avoid the allocation.
2024-04-11 12:25:06 +10:00
Lijun Wang 92ebf0f80c
Treat super low staked as unstaked in streamer QOS (#701)
* Treat super low staked with QOS of unstaked

* simplify

* address some comment from Pankaj
2024-04-10 17:13:41 -06:00
samkim-crypto 006cf28dec
[zk-keygen] Remove deprecated functions (#599)
* add `deprecated` feature to produce warnings on use of deprecated functions

* replace `is_present` with `try_contains_id`

* replace validator functions

* replace `possible_values` with `value_parser`

* replace `value_of` function

* remove `deprecated` feature
2024-04-11 07:52:57 +09:00
Ashwin Sekar 411fdc9312
blockstore: scaffolding for chained merkle root conflict detection (#719)
* blockstore: scaffolding for chained merkle root conflict detection

* pr feedback: use dummy feature key until final plumbing
2024-04-10 22:46:33 +00:00
dmakarov d4fe07c68c
SVM: explain fields of TransactionBatchProcessor struct in spec (#727) 2024-04-10 15:23:27 -07:00
ripatel-fd 4b6d274887
Fix crash if vote state is malformed (#715)
* Fix crash if vote state is malformed

* Fix vote program crash if clock rewinds

Return an instruction error instead of panicking if the vote
program detects the vote program's vote authority history is
newer than the current clock.

---------

Co-authored-by: Richard Patel <ripatel@jumptrading.com>
2024-04-10 17:12:56 -04:00
Andrew Fitzgerald e91a5e2744
default staked client in LocalCluster (#716)
* default staked client in LocalCluster

* fix underflow
2024-04-10 15:33:07 -05:00
dependabot[bot] 51f99727b9
build(deps): bump quote from 1.0.35 to 1.0.36 (#706)
* build(deps): bump quote from 1.0.35 to 1.0.36

Bumps [quote](https://github.com/dtolnay/quote) from 1.0.35 to 1.0.36.
- [Release notes](https://github.com/dtolnay/quote/releases)
- [Commits](https://github.com/dtolnay/quote/compare/1.0.35...1.0.36)

---
updated-dependencies:
- dependency-name: quote
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

* [auto-commit] Update all Cargo lock files

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <dependabot-buildkite@noreply.solana.com>
2024-04-10 23:49:56 +08:00
Kevin Heavey ff8a25b97f
svm: move bpf-loader-program to dev-dependencies (#711) 2024-04-10 10:22:51 -05:00
Kevin Heavey d06e3e95cb
program-test: move test-case to dev-dependencies (#710) 2024-04-10 10:22:28 -05:00
behzad nouri d308acdc84
removes feature gated code for dropping legacy shreds (#677) 2024-04-10 14:28:34 +00:00
Jeff Washington (jwash) 9778e489b0
add ScanAccountStorageData (#694) 2024-04-10 09:22:37 -05:00
Justin Starry 72ee270943
Update cargo metadata to Anza (#635) 2024-04-10 14:29:48 +08:00
Tyera dd8e1f4c73
Remove overly restrictive check_account_access for partitioned epoch rewards (#631)
* Remove rewards-interval-related check_account_access implementation

* Move RewardsInterval to tests module

* Update test to new StakeProgram functionality
2024-04-09 21:55:45 -06:00
Jeff Washington (jwash) 4535ea60a9
remove ReadableAccount trait from LoadedAccount (#692) 2024-04-09 22:14:52 -05:00
Jeff Washington (jwash) 0c5d56bd33
pass &LoadedAccount scan_account_storage (#693) 2024-04-09 22:13:10 -05:00
Ashwin Sekar 70c4cb0ba1
consensus: add dev-context-only-utils to tower (#687) 2024-04-09 16:39:57 -07:00
Tyera 2470b45468
Check EpochRewards::active within the Stake Program (#617)
* Add new StakeError variant

* Add closure to return error if EpochRewards::active

* Use error_during_epoch_rewards for Instructions that mutate stake accounts

* Use try instead of manually matching Ok/Err

* Consolidate error_during_epoch_rewards check

* Add new test helper

* Add test demonstrating which ix return StakeError::EpochRewardsActive

* Remove single-use fn
2024-04-09 17:29:50 -06:00
Andrew Fitzgerald 1744e9efd7
BankingStage Forwarding Filter (#685)
* add PacketFlags::FROM_STAKED_NODE

* Only forward packets from staked node

* fix local-cluster test forwarding

* review comment

* tpu_votes get marked as from_staked_node
2024-04-09 23:12:26 +00:00
Lijun Wang 592107a907
corrected to not use hardcoded connections count for unstaked (#633)
* corrected to not use hardcoded connections count for unstaked

* Fixed a math problem on max_unstaked_load_in_throttling_window

* Fixed a unit test failure
2024-04-09 15:20:24 -07:00
Jeff Washington (jwash) d9d11cda4d
break out parameters to hash_account (#691) 2024-04-09 17:03:37 -05:00
Jeff Washington (jwash) f62d79b8be
add `data_len()` to `LoadedAccount` (#689) 2024-04-09 16:32:07 -05:00
Jeff Washington (jwash) 9d700b8749
in get_pubkey_hash_account_for_slot use take_account earlier (#688) 2024-04-09 16:05:46 -05:00
Brooks 4546e79cbc
Fixes nits in streamer perf tracking (#648) 2024-04-09 16:47:18 -04:00
Jeff Washington (jwash) 374705293c
implement get_account_sizes for hot storages (#676) 2024-04-09 15:21:09 -05:00
Lucas Steuernagel 4753a8aefa
Move `add_builtin` to SVM (#547) 2024-04-09 16:55:09 -03:00
Jeff Washington (jwash) 5eab6ae2b5
`purge_slot_storage` doesn't use `scan_account_storage` (#684) 2024-04-09 13:55:00 -05:00
Brooks 87314a5549
Reduces what accounts-db exports publicly (#667) 2024-04-09 14:53:56 -04:00
Jeff Washington (jwash) a2544e434d
implement scan_index for hot storage (#675)
* implement scan-index for

* impl `stored_size` for hot, fix test
2024-04-09 13:29:54 -05:00
Jeff Washington (jwash) 4ed5b4c083
removed LoadedAccount::compute_hash (#683) 2024-04-09 13:29:03 -05:00
dependabot[bot] 4bbd535b08
build(deps): bump ctrlc from 3.4.2 to 3.4.4 (#672)
Bumps [ctrlc](https://github.com/Detegr/rust-ctrlc) from 3.4.2 to 3.4.4.
- [Release notes](https://github.com/Detegr/rust-ctrlc/releases)
- [Commits](https://github.com/Detegr/rust-ctrlc/compare/3.4.2...3.4.4)

---
updated-dependencies:
- dependency-name: ctrlc
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-10 00:49:25 +08:00
Harry Whelchel eacdb2b9db
Fixes typo in validator requirements (#680) 2024-04-09 10:46:53 -05:00
Dmitri Makarov 9552b1ad3c
SVM: Add specification document (#643)
* SVM: Add specification document

* Update svm/doc/spec.md

Co-authored-by: Lucas Steuernagel <38472950+LucasSte@users.noreply.github.com>

* Update svm/doc/spec.md

Co-authored-by: Lucas Steuernagel <38472950+LucasSte@users.noreply.github.com>

* Update svm/doc/spec.md

Co-authored-by: Lucas Steuernagel <38472950+LucasSte@users.noreply.github.com>

* Update svm/doc/spec.md

Co-authored-by: Lucas Steuernagel <38472950+LucasSte@users.noreply.github.com>

* Update svm/doc/spec.md

Co-authored-by: Lucas Steuernagel <38472950+LucasSte@users.noreply.github.com>

* Update svm/doc/spec.md

Co-authored-by: Lucas Steuernagel <38472950+LucasSte@users.noreply.github.com>

* Update svm/doc/spec.md

Co-authored-by: Lucas Steuernagel <38472950+LucasSte@users.noreply.github.com>

* Update svm/doc/spec.md

Co-authored-by: Lucas Steuernagel <38472950+LucasSte@users.noreply.github.com>

* Update svm/doc/spec.md

Co-authored-by: Lucas Steuernagel <38472950+LucasSte@users.noreply.github.com>

* Update svm/doc/spec.md

Co-authored-by: Lucas Steuernagel <38472950+LucasSte@users.noreply.github.com>

---------

Co-authored-by: Lucas Steuernagel <38472950+LucasSte@users.noreply.github.com>
2024-04-09 07:25:18 -07:00
Jeff Washington (jwash) c0be86d0e1
implement scan_pubkeys for hot storage (#666) 2024-04-09 07:47:26 -05:00
Jeff Washington (jwash) 8e0a55fe64
add file_provider to accounts_db (#665) 2024-04-08 17:58:01 -05:00
Brooks 6fedfe5a4d
Evicts from the accounts read cache in the background (#575) 2024-04-08 17:10:15 -04:00
Lucas Steuernagel e01670135f
Remove `must_replace` parameter from `add_builtin_account` (#662) 2024-04-08 17:57:15 -03:00
Jeff Washington (jwash) b9487f5263
add get_account_sizes (#661) 2024-04-08 15:41:38 -05:00
Jeff Washington (jwash) 294d9d7e50
intset for SlotOffsets (#656) 2024-04-08 15:10:46 -05:00
Joe C caa18a528f
cli tests: correct program data account test check (#660) 2024-04-08 14:52:52 -05:00
HaoranYi 287d0d2582
Remove reclaim param for store_accounts_frozen (#618)
remove reclaim param for store_accounts_frozen

Co-authored-by: HaoranYi <haoran.yi@solana.com>
2024-04-08 14:28:13 -05:00
steviez 191a997c5f
Make thread id a tag instead of field in BankingStage metrics (#644)
Making the id a tag instead of a field will allow group-by operations on
id in chronograph
2024-04-08 13:15:52 -05:00
Jeff Washington (jwash) 0af9aaa573
handle reclaimed offsets as a batch (#652) 2024-04-08 12:10:38 -05:00
steviez 923e303acb
Move recv timer to start before crossbream receiver recv_timeout() (#642)
The timer starting after recv_timeout() means the measured time will NOT
include time spent waiting for the first PacketBatch from the receiver.
2024-04-08 11:28:00 -05:00
Jeff Washington (jwash) 0025ecd5af
append vec: remove_account->remove_accounts (#607) 2024-04-08 09:30:03 -05:00
Wen 312f725f1e
wen_restart: Find the bank hash of the heaviest fork, replay if necessary. (#420)
* Find the bank hash of the heaviest fork, replay if necessary.

* Make it more explicit how heaviest fork slot is selected.

* Use process_single_slot instead of process_blockstore_from_root, the latter
may re-insert banks already frozen.

* Put BlockstoreProcessError into the error message.

* Check that all existing blocks link to correct parent before replay.

* Use the default number of threads instead.

* Check whether block is full and other small fixes.

* Fix root_bank and move comments to function level.

* Remove the extra parent link check.
2024-04-07 16:17:52 -07:00
Joe C 03ef611f0c
program-runtime: hoist `RuntimeConfig` up to SVM (#630)
program-runtime: hoist `RuntimeConfig` out into SVM
2024-04-07 10:45:57 -05:00
Yihau Chen 01460ef5cc
remove InetAddr from streamer/src/sendmmsg.rs (#557)
* remove InetAddr from streamer/src/sendmmsg.rs

* add ref links

* use SocketAddr conversion directly
2024-04-07 00:35:31 +08:00
Justin Starry be09b497cb
changelog: add entry for new simulate tx replacement blockhash (#623) 2024-04-06 22:21:44 +08:00