Commit Graph

24188 Commits

Author SHA1 Message Date
Brooks a96be5d2f0
Uses IntSet for uncleaned roots during index generation (#34008) 2023-11-09 15:04:19 -05:00
Tyera 28e08ac141
Add Blockstore::get_rooted_block_with_entries method (#33995)
* Add helper structs to hold block and entry summaries

* Add Blockstore::get_rooted_block_with_entries and dedupe innards

* Review comments
2023-11-09 10:03:56 -07:00
Alexander Meißner a9509f56b7
Feature - Epoch boundary recompilation phase (#33477)
* Adds LoadedPrograms::upcoming_environments.

* Moves LoadedPrograms::prune_feature_set_transition() into LoadedPrograms::prune().

* Adds parameter recompile to Bank::load_program().

* Sets latest_root_slot/epoch and environments in Bank::finish_init().

* Removes FEATURES_AFFECTING_RBPF list.

* Adjusts test_feature_activation_loaded_programs_recompilation_phase().
2023-11-09 13:10:59 +01:00
Yueh-Hsuan Chiang 874fae507f
[TieredStorage] Make HotStorageReader use AccountOffset type (#33964)
#### Problem
#33927 introduced a new type AccountOffset, but HotStorageReader
still uses `usize` to access accounts.

#### Summary of Changes
This PR makes HotStorageReader use the new AccountOffset type.
2023-11-08 21:58:44 -08:00
steviez 230779d459
Revert " Remove redundant bounds check from getBlock and getBlockTime… (#33996)
Revert " Remove redundant bounds check from getBlock and getBlockTime (#33901)"

This reverts commit 03a456e7bb.
2023-11-08 18:16:51 -06:00
Brooks bba6ea2d69
Returns IntMap from select_candidates_by_total_usage() (#33976) 2023-11-08 16:15:51 -05:00
behzad nouri 783f136214
expands transport configs in turbine QUIC endpoint (#33864) 2023-11-08 20:28:19 +00:00
behzad nouri 3ac2507d36
adds keep-alive-interval to repair QUIC transport config (#33866)
QUIC connections may timeout due to infrequent repair requests. The commit
configures keep_alive_interval and max_idle_timeout to avoid timeouts.
2023-11-08 20:09:23 +00:00
Brooks 7cb83bc491
Adds `S` to HashMap/HashSet impls of Contains (#33973) 2023-11-08 15:08:33 -05:00
dependabot[bot] 06884a044d
build(deps): bump light-poseidon from 0.1.1 to 0.1.2 (#33988)
* build(deps): bump light-poseidon from 0.1.1 to 0.1.2

Bumps [light-poseidon](https://github.com/Lightprotocol/light-poseidon) from 0.1.1 to 0.1.2.
- [Release notes](https://github.com/Lightprotocol/light-poseidon/releases)
- [Commits](https://github.com/Lightprotocol/light-poseidon/compare/v0.1.1...v0.1.2)

---
updated-dependencies:
- dependency-name: light-poseidon
  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>
2023-11-08 18:47:12 +00:00
dependabot[bot] 32792d8259
build(deps): bump syn from 2.0.38 to 2.0.39 (#33987)
* build(deps): bump syn from 2.0.38 to 2.0.39

Bumps [syn](https://github.com/dtolnay/syn) from 2.0.38 to 2.0.39.
- [Release notes](https://github.com/dtolnay/syn/releases)
- [Commits](https://github.com/dtolnay/syn/compare/2.0.38...2.0.39)

---
updated-dependencies:
- dependency-name: syn
  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>
2023-11-08 18:46:52 +00:00
dependabot[bot] e5d3dbe2fa
build(deps): bump serde from 1.0.190 to 1.0.192 (#33986)
* build(deps): bump serde from 1.0.190 to 1.0.192

Bumps [serde](https://github.com/serde-rs/serde) from 1.0.190 to 1.0.192.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.190...v1.0.192)

---
updated-dependencies:
- dependency-name: serde
  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>
2023-11-08 18:46:28 +00:00
dependabot[bot] 4f1d9e00fd
build(deps): bump index_list from 0.2.7 to 0.2.11 (#33985)
* build(deps): bump index_list from 0.2.7 to 0.2.11

Bumps [index_list](https://github.com/Fairglow/index-list) from 0.2.7 to 0.2.11.
- [Release notes](https://github.com/Fairglow/index-list/releases)
- [Commits](https://github.com/Fairglow/index-list/compare/v0.2.7...v0.2.11)

---
updated-dependencies:
- dependency-name: index_list
  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>
2023-11-08 18:46:09 +00:00
Lijun Wang 69cec7e7b7
Remove RwLock on BlockNotifier (#33981) 2023-11-08 10:27:50 -08:00
galactus 7cdfba9259
Display error message while laoding geyser plugins (#33990) 2023-11-08 18:16:42 +00:00
steviez 03a456e7bb
Remove redundant bounds check from getBlock and getBlockTime (#33901)
JsonRpcRequestProcessor::check_blockstore_root() contained some logic
that performed duplicate sanity checking on a Blockstore fetch result.
The checking involved creating rocksdb iterators, which has non-trivial
overhead.

This PR removes the duplicate checking, and also adds comments to help
reason about how JsonRpcRequestProcessor interprets the Blockstore
result.
2023-11-08 12:09:10 -06:00
steviez 73815aee51
Move and rename ledger services from core to ledger (#33947)
These services currently live in core/; however, they operate on the
ledger. Mores so, these two services operate on the blockstore only,
and not necessarily the entire ledger. So, it makes sense to move these
services out of core and into ledger. We've recently been doing similar
changes with breaking things out into individual crates in order to
reduce the scope of core.

So, this change moves the services from core/ to ledger/, and replaces
ledger with blockstore.
2023-11-08 11:58:31 -06:00
Illia Bobyr 8c5b5f18be
scripts/cargo-clippy.sh: Extract our non-trivial `cargo clippy` command (#33982)
CI uses a number of parameters when running `cargo clippy`.  Repeating
the same command manually requires some copy/pasting.  It is easier when
there is a common script that can be run by everyone.
2023-11-08 02:50:38 -08:00
Yihau Chen 5efba1fb3a
ci: add the ability to use GCS backend for sccache (#33967) 2023-11-08 11:03:35 +08:00
Brooks 29b21253ec
changelog: Uses fastboot by default (#33900) 2023-11-07 16:00:09 -05:00
Brooks 6f213c38aa
Removes Default from RollingBitField (#33969) 2023-11-07 15:58:52 -05:00
dependabot[bot] fdab44f768
build(deps): bump openssl from 0.10.57 to 0.10.59 (#33952)
* build(deps): bump openssl from 0.10.57 to 0.10.59

Bumps [openssl](https://github.com/sfackler/rust-openssl) from 0.10.57 to 0.10.59.
- [Release notes](https://github.com/sfackler/rust-openssl/releases)
- [Commits](https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.57...openssl-v0.10.59)

---
updated-dependencies:
- dependency-name: openssl
  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>
2023-11-07 13:52:49 -07:00
dependabot[bot] 29b4ba0dc1
build(deps): bump indexmap from 2.0.2 to 2.1.0 (#33954)
* build(deps): bump indexmap from 2.0.2 to 2.1.0

Bumps [indexmap](https://github.com/bluss/indexmap) from 2.0.2 to 2.1.0.
- [Changelog](https://github.com/bluss/indexmap/blob/master/RELEASES.md)
- [Commits](https://github.com/bluss/indexmap/compare/2.0.2...2.1.0)

---
updated-dependencies:
- dependency-name: indexmap
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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>
2023-11-07 13:51:24 -07:00
dependabot[bot] dd2845b072
build(deps): bump futures from 0.3.28 to 0.3.29 (#33953)
* build(deps): bump futures from 0.3.28 to 0.3.29

Bumps [futures](https://github.com/rust-lang/futures-rs) from 0.3.28 to 0.3.29.
- [Release notes](https://github.com/rust-lang/futures-rs/releases)
- [Changelog](https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/futures-rs/compare/0.3.28...0.3.29)

---
updated-dependencies:
- dependency-name: futures
  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>
2023-11-07 13:49:42 -07:00
Tyera e93725e788
Add more comments about solana-program patch (downstream) (#33965)
* Add more comments re solana-program patch

* More specific advice
2023-11-07 13:30:10 -07:00
Will Hickey 87b4dc64e3
Add --release-with-debug option to cargo-install-all.sh (#33383)
* Add --canary option to cargo-install-all for building with separate debug symbols

* lint

* Remove debug-assertions

* switch flag from --canary to --release-with-debug
2023-11-07 13:48:11 -06:00
Lijun Wang eba1b2d3e3
Remove RwLock on TransactionNotifier (#33962)
* Remove RwLock on TransactionNotifier
2023-11-07 10:28:56 -08:00
Yueh-Hsuan Chiang b013c03afa
[TieredStorage] Add IndexOffset type (#33929)
#### Problem
TieredStorage conceptually has different offsets. However, the current code directly
uses the same primitive type for accessing offsets, which is error-prone as one could
easily use one offset to access data that should be accessed with a different offset
type.

#### Summary of Changes
This PR adds IndexOffset type -- a struct for obtaining the ith entry inside the
index-block to obtain account's offset and address.
2023-11-07 10:26:21 -08:00
Jeff Washington (jwash) b8115b4303
chunk all ancient append vecs (#33909)
* chunk all ancient append vecs

* fix a test comments

* remove unneeded dead_code attr

* do full chunking when pack is used to create ancient storage

* refacotr and fix tests

* clippy

* add cache hash file stats

* comments

* fix test

* Update accounts-db/src/accounts_db.rs

Co-authored-by: Brooks <brooks@prumo.org>

* Update accounts-db/src/accounts_db.rs

Co-authored-by: Brooks <brooks@prumo.org>

* test_case

* remove commented out code

* remove hash cache data stats

* typo

---------

Co-authored-by: HaoranYi <haoran.yi@solana.com>
Co-authored-by: HaoranYi <haoran.yi@gmail.com>
Co-authored-by: Brooks <brooks@prumo.org>
2023-11-07 09:10:59 -06:00
acheron ec0ddc9468
Fix `solana-install init` making unnecessary API requests (#33949)
* Fix `solana-install init` making unnecessary API requests

* Add `is_init` check

* chore: Move `semver_update_type` to where it's being used
2023-11-06 17:06:49 -07:00
Lijun Wang 8c69a0ec38
Remove RwLock on AccountsUpdateNotifier (#33960) 2023-11-06 14:03:25 -08:00
Yueh-Hsuan Chiang da130b87d3
[TieredStorage] Add AccountOffset type (#33927)
#### Problem
TieredStorage conceptually has different offsets.  However, the current code directly
uses the same primitive type for accessing offsets, which is error-prone as one could
easily use one offset to access data that should be accessed with a different offset
type.

#### Summary of Changes
This PR introduces the AccountOffset type, which allows static-check to on different
type of TieredStorage offsets.
2023-11-06 12:21:08 -08:00
Brooks 70d97d3261
Adds `iter_ones()` to RollingBitField (#33956) 2023-11-06 14:06:43 -05:00
steviez ee29647f67
Remove Option<_> from Blockstore::get_rooted_block_time() return type (#33955)
Instead of returning Result<Option<UnixTimestamp>>, return
Result<UnixTimestamp> and map None to an error. This makes the return
type similar to that of Blockstore::get_rooted_block().
2023-11-06 12:56:10 -06:00
Yueh-Hsuan Chiang 6624a09d38
[TieredStorage] Rename account-index to index-block (#33928)
#### Problem
The current tiered-storage code uses "account-index" to call index-block.
This could lead to confusion especially as we start giving each offset/position/index a specific type.

#### Summary of Changes
This PR renames all structs/variables that use account-index to refer to index-block.
2023-11-06 10:32:19 -08:00
Tyera d6ac9bea84
Geyser: return real parent blockhash, or default (#33873)
Return real parent blockhash, or default
2023-11-06 11:14:18 -07:00
HaoranYi 75e598ece3
rekey stake redelegate feature (#33957)
Co-authored-by: HaoranYi <haoran.yi@solana.com>
2023-11-06 17:57:54 +00:00
Max Kaplan 0c3cab77fb
docs: updating apt install to apt upgrade (#33920) 2023-11-06 13:27:41 +01:00
Sylwester Rąpała 63fd5cf049
chore: impl decode for UiAccountData (#33632) 2023-11-06 13:24:13 +01:00
Liam Vovk e840b9759a
Remove RWLock from EntryNotifier because it causes perf degradation (#33797)
* Remove RWLock from EntryNotifier because it causes perf degradation when entry notifications are enabled on geyser

* remove unused RWLock

* Remove RWLock
2023-11-06 00:55:36 -08:00
Justin Starry ebe8afb0c3
Burn fees collected into invalid accounts (#33887)
* refactor: create bank::fee_distribution module

* feature: add checks to fee distribution

* refactor: move Bank::deposit fn into test_utils

* feedback

* feedback 2

* add datapoints

* change to datapoint_warn

* typo
2023-11-06 10:02:22 +08:00
Yihau Chen 662ac8bc86
ci: reorg docker images (#33815)
* ci: remove unnecessary args from docker-run.sh

* ci: remove cargo uninstall from buildkite post checkout

* ci: reorg docker images

* ci: add mscgen for docs
2023-11-03 20:32:38 +08:00
dependabot[bot] 43668c4246
build(deps): bump num_enum from 0.7.0 to 0.7.1 (#33932)
* build(deps): bump num_enum from 0.7.0 to 0.7.1

Bumps [num_enum](https://github.com/illicitonion/num_enum) from 0.7.0 to 0.7.1.
- [Commits](https://github.com/illicitonion/num_enum/commits)

---
updated-dependencies:
- dependency-name: num_enum
  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>
2023-11-03 20:29:46 +08:00
dependabot[bot] cc0e417ecb
build(deps): bump tempfile from 3.8.0 to 3.8.1 (#33925)
* build(deps): bump tempfile from 3.8.0 to 3.8.1

Bumps [tempfile](https://github.com/Stebalien/tempfile) from 3.8.0 to 3.8.1.
- [Changelog](https://github.com/Stebalien/tempfile/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Stebalien/tempfile/commits)

---
updated-dependencies:
- dependency-name: tempfile
  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>
2023-11-03 20:29:16 +08:00
dependabot[bot] 79056341d5
build(deps): bump futures-util from 0.3.28 to 0.3.29 (#33924)
* build(deps): bump futures-util from 0.3.28 to 0.3.29

Bumps [futures-util](https://github.com/rust-lang/futures-rs) from 0.3.28 to 0.3.29.
- [Release notes](https://github.com/rust-lang/futures-rs/releases)
- [Changelog](https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/futures-rs/compare/0.3.28...0.3.29)

---
updated-dependencies:
- dependency-name: futures-util
  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>
2023-11-03 20:28:53 +08:00
Ryo Onodera a4a66026e1
Introduce InstalledSchedulerPool trait (#33934)
* Introduce InstalledSchedulerPool

* Use type alias

* Remove log_prefix for now...

* Simplify return_to_pool()

* Simplify InstalledScheduler's context methods

* Reorder trait methods semantically

* Simplify Arc<Bank> handling
2023-11-03 16:02:12 +09:00
norwnd 1c00d5d81a
cli: solana-tokens, validate inputs gracefully (#33926)
* cli: solana-tokens, refactor imports

* cli: solana-tokens, validate inputs gracefully

* change Allocation struct field types to simplify things

* fix typos, apply some review suggestions

* preserve backward compatibility for public APIs

* apply latest review suggestions

* address next batch of review comments

---------

Co-authored-by: norwnd <norwnd>
2023-11-02 18:06:00 -06:00
Kirill Fomichev 808f67aead
check plugin name on plugin_reload rpc call (#33582)
* check plugin name on plugin_reload rpc call

* add name to error message
2023-11-01 12:21:53 -07:00
Tyera 25a29c9b7f
solana-tokens: unpub/remove some helpers (#33937)
* Unpub token helpers

* Remove unused method
2023-11-01 17:21:25 +00:00
Jeff Biseda 63abc72e86
remove unused replay-loop-voting-stats values (#33935) 2023-10-31 23:40:45 -07:00