Commit Graph

23801 Commits

Author SHA1 Message Date
dependabot[bot] 1a2c0943db
build(deps): bump byteorder from 1.4.3 to 1.5.0 (#33590)
* build(deps): bump byteorder from 1.4.3 to 1.5.0

Bumps [byteorder](https://github.com/BurntSushi/byteorder) from 1.4.3 to 1.5.0.
- [Changelog](https://github.com/BurntSushi/byteorder/blob/master/CHANGELOG.md)
- [Commits](https://github.com/BurntSushi/byteorder/compare/1.4.3...1.5.0)

---
updated-dependencies:
- dependency-name: byteorder
  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-10-09 13:40:45 +00:00
DimAn 7afb11f1e6
validator: skip health check (#33568)
* validator: skip health check

* keep `healthy` as a boolean
2023-10-08 16:33:53 -07:00
Ikko Eltociear Ashimine bd8cfc9923
fix typo in latest_validator_votes_for_frozen_banks.rs (#33585)
upate -> update
2023-10-08 18:12:52 +00:00
Brooks c588f25eca
Stops pushing legacy snapshot hashes to crds (#33576) 2023-10-07 14:29:42 -04:00
Ryo Onodera 95810d876a
Enable frozen_abi on banking trace file (#33501)
* Enable frozen_abi on banking trace file

* Fix ci with really correct bugfix...

* Remove tracker_callers

* Fix typo...

* Fix AbiExample for Arc/Rc's Weaks

* Added comment for AbiExample impl of SystemTime

* Simplify and document EvenAsOpaque with new usage

* Minor clean-ups

* Simplify SystemTime::example() with UNIX_EPOCH...

* Add comment for AbiExample subtleties
2023-10-07 13:15:38 +09:00
Wen 630feeddf2
Add wen_restart module (#33344)
* Add wen_restart module:
- Implement reading LastVotedForkSlots from blockstore.
- Add proto file to record the intermediate results.
- Also link wen_restart into validator.
- Move recreation of tower outside replay_stage so we can get last_vote.

* Update lock file.

* Fix linter errors.

* Fix depencies order.

* Update wen_restart explanation and small fixes.

* Generate tower outside tvu.

* Update validator/src/cli.rs

Co-authored-by: Tyera <teulberg@gmail.com>

* Update wen-restart/protos/wen_restart.proto

Co-authored-by: Tyera <teulberg@gmail.com>

* Update wen-restart/build.rs

Co-authored-by: Tyera <teulberg@gmail.com>

* Update wen-restart/src/wen_restart.rs

Co-authored-by: Tyera <teulberg@gmail.com>

* Rename proto directory.

* Rename InitRecord to MyLastVotedForkSlots, add imports.

* Update wen-restart/Cargo.toml

Co-authored-by: Tyera <teulberg@gmail.com>

* Update wen-restart/src/wen_restart.rs

Co-authored-by: Tyera <teulberg@gmail.com>

* Move prost-build dependency to project toml.

* No need to continue if the distance between slot and last_vote is
already larger than MAX_SLOTS_ON_VOTED_FORKS.

* Use 16k slots instead of 81k slots, a few more wording changes.

* Use AncestorIterator which does the same thing.

* Update Cargo.lock

* Update Cargo.lock

---------

Co-authored-by: Tyera <teulberg@gmail.com>
2023-10-06 15:04:37 -07:00
Tyera f075867ceb
Blockstore::get_sigs_for_addr2: ensure lowest_slot >= first_available_block (#33556)
* Set empty lowest_slot to first_available_block and remove check in loop

* Ensure get_transaction_status on_with_counter returns slots >= first_available_block

* Actually cleanup ledger
2023-10-06 15:12:08 -06:00
Sammy Harris 41ed9ab6d9
Fix: handle `-- --target-dir` arg in `cargo build-sbf` (#33555)
* fix: handle target dir override in build-sbf cargo args

* fix: refactor to canonicalize target arg for workspace absolute paths

* fix: nightly linting
2023-10-06 13:48:12 -07:00
Nick Frostbutter 77632daca5
[docs] removed >600 unused icon files (#33569)
refactor: removed icons since none are used
2023-10-06 15:24:28 -05:00
Brooks bb27bd88d4
Removes write version from tiered storage (#33566) 2023-10-06 16:19:35 -04:00
Yueh-Hsuan Chiang ecb1f8a9d7
[TieredStorage] Include Hot Account in StoredAccountMeta and ReadableAccount (#33544)
#### Problem
All account storage formats are required to implement both StoredAccountMeta
and ReadableAccount, but the implementation for the hot account format is missing.

#### Summary of Changes
This PR includes hot account format into StoredAccountMeta and ReadableAccount
enum.  This will allow the TieredStorageReader in the future PRs to return hot account
format in its `get_account` implementation.
2023-10-06 11:54:02 -07:00
dependabot[bot] 937cf5312d
build(deps): bump syn from 2.0.37 to 2.0.38 (#33558)
* build(deps): bump syn from 2.0.37 to 2.0.38

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

---
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-10-06 18:11:42 +00:00
Brooks c8d545c501
Uses stable `u64::next_multiple_of()` (#33549) 2023-10-06 13:45:14 -04:00
Andrew Fitzgerald 973df825b7
log signature after successful feature activation (#33488) 2023-10-06 09:46:26 -07:00
dependabot[bot] 446d89e84a
build(deps): bump csv from 1.2.2 to 1.3.0 (#33560)
Bumps [csv](https://github.com/BurntSushi/rust-csv) from 1.2.2 to 1.3.0.
- [Commits](https://github.com/BurntSushi/rust-csv/compare/1.2.2...1.3.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-06 14:57:54 +00:00
Brooks 2d1449f714
Upgrades Rust to 1.73.0 (#33546) 2023-10-06 10:47:51 -04:00
dependabot[bot] 8b1377cbb4
build(deps): bump reqwest from 0.11.20 to 0.11.22 (#33561)
* build(deps): bump reqwest from 0.11.20 to 0.11.22

Bumps [reqwest](https://github.com/seanmonstar/reqwest) from 0.11.20 to 0.11.22.
- [Release notes](https://github.com/seanmonstar/reqwest/releases)
- [Changelog](https://github.com/seanmonstar/reqwest/blob/master/CHANGELOG.md)
- [Commits](https://github.com/seanmonstar/reqwest/compare/v0.11.20...v0.11.22)

---
updated-dependencies:
- dependency-name: reqwest
  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-10-06 14:25:15 +00:00
dependabot[bot] 88c1317535
build(deps): bump indexmap from 2.0.1 to 2.0.2 (#33559)
* build(deps): bump indexmap from 2.0.1 to 2.0.2

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

---
updated-dependencies:
- dependency-name: indexmap
  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-10-06 13:19:45 +00:00
Brooks 35a0295376
Improves error text when snapshot intervals are incompatible (#33551) 2023-10-06 07:51:49 -04:00
Pankaj Garg ef47c977dc
Decouple program-v4 command processors from CliConfig (#33554) 2023-10-06 03:53:55 -07:00
dependabot[bot] 64b36135cb
build(deps): bump postcss from 8.4.21 to 8.4.31 in /docs (#33505)
Bumps [postcss](https://github.com/postcss/postcss) from 8.4.21 to 8.4.31.
- [Release notes](https://github.com/postcss/postcss/releases)
- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/postcss/compare/8.4.21...8.4.31)

---
updated-dependencies:
- dependency-name: postcss
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-05 18:39:28 -07:00
Tyera 6f1922b4fd
Add early return to Blockstore::find_address_signatures methods (#33545)
Add early return to find_address_signatures methods
2023-10-05 19:57:35 +00:00
steviez 666ce9b3be
Fix blockstore-purge delete_files_in_range_us metric (#33512)
This field was being filled with the wrong value
2023-10-05 13:34:04 -05:00
steviez fac0c3c0fc
Make Blockstore::purge_special_columns_exact() bail if columns empty (#33534)
The special columns, TransactionStatus and AddressSignatures, are only
populated if --enable-rpc-transaction-history is passed. Cleaning these
columns for a range of slots is very expensive, as the block for each
slot must be read, deserialized, and then parsed to extract all of the
transaction signatures and address pubkeys.

This change adds a simple check to see if there are any values at all in
the special columns. If there are not, then the whole process described
above can be skipped for nodes that are not storing the special columns.
2023-10-05 13:15:24 -05:00
steviez 6b96a2259f
Remove unused code in Blockstore underlying impl (#33538)
* Remove LedgerColumn::delete_slot() method
* Remove primary_index() function from Trait column
2023-10-05 13:14:09 -05:00
steviez 402e9a5fff
Use copy_from_slice() over clone_from_slice() for u8 slice copies (#33536)
clone_from_slice() would hypothetically visit each item in the slice and
clone it whereas copy_from_slice() can memcpy the whole slice in one go.

Technically, Rust does the right thing for us by making
clone_from_slice() defer to copy_from_slice() for types that implement
Copy trait. However, we should still use the more efficient method
directly to show intent.
2023-10-05 13:13:09 -05:00
sakridge 83b49daf29
Fix CLI help text for `solana stake-account` (#33387)
Fix help text
2023-10-05 17:23:41 +00:00
Brooks e0091d6995
Removes unnecessary borrow (#33539) 2023-10-05 12:41:33 -04:00
Joe C 93d8bcca4b
update feature gate no-op program id (#33535) 2023-10-05 18:28:44 +02:00
Andrew Fitzgerald 2a17be0eea
Bugfix: MultiIterator batch priority guard (#33454) 2023-10-05 09:20:24 -07:00
dependabot[bot] 9c2663f7a5
build(deps): bump num_enum from 0.6.1 to 0.7.0 (#33480)
* build(deps): bump num_enum from 0.6.1 to 0.7.0

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

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

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

* updates programs/sbf/Cargo.lock

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: behzad nouri <behzadnouri@gmail.com>
2023-10-05 14:46:10 +00:00
dependabot[bot] abb1f2301d
build(deps): bump sha2 from 0.10.7 to 0.10.8 (#33422)
* build(deps): bump sha2 from 0.10.7 to 0.10.8

Bumps [sha2](https://github.com/RustCrypto/hashes) from 0.10.7 to 0.10.8.
- [Commits](https://github.com/RustCrypto/hashes/compare/sha2-v0.10.7...sha2-v0.10.8)

---
updated-dependencies:
- dependency-name: sha2
  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-10-05 14:05:26 +00:00
dependabot[bot] 2353cc5313
build(deps): bump bytecount from 0.6.3 to 0.6.4 (#33502)
Bumps [bytecount](https://github.com/llogiq/bytecount) from 0.6.3 to 0.6.4.
- [Commits](https://github.com/llogiq/bytecount/commits)

---
updated-dependencies:
- dependency-name: bytecount
  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>
2023-10-05 13:06:31 +00:00
dependabot[bot] feeff68fd6
build(deps): bump rayon from 1.7.0 to 1.8.0 (#33346)
* build(deps): bump rayon from 1.7.0 to 1.8.0

Bumps [rayon](https://github.com/rayon-rs/rayon) from 1.7.0 to 1.8.0.
- [Changelog](https://github.com/rayon-rs/rayon/blob/master/RELEASES.md)
- [Commits](https://github.com/rayon-rs/rayon/compare/rayon-core-v1.7.0...rayon-core-v1.8.0)

---
updated-dependencies:
- dependency-name: rayon
  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-10-05 12:55:05 +00:00
Brooks c66af12bdb
Uses `IntSet` for `RemoveUnrootedSlotsSynchronization::slots_under_contention` (#33530) 2023-10-04 16:34:18 -04:00
Brooks 3b93041401
Uses `IntSet` for dead slots (#33529) 2023-10-04 16:21:44 -04:00
Brooks befc903993
Uses `IntSet` in AccountsDb::calc_delete_dependencies() (#33528) 2023-10-04 16:21:06 -04:00
Brooks f714a44c2a
Uses `IntSet` for `RollingBitField::excess` (#33523) 2023-10-04 15:04:28 -04:00
Joe C 25460f76e7
Bank: Add function to replace empty account with upgradeable program on feature activation (#32783)
* replace program account

* modify for all cases

* remove non-data swap

* address tests & conditional feedback

* get the rent involved

* mix in owner & executable

* feature-related cases

* stripped back to feature-specific case only

* added feature

* address initial feedback

* added more lamport checks

* condense tests

* using test_case

* add fail cases to tests

* more cleanup

* add verifiably built program

* update program account state

* cleaned up serializing logic

* use full word capitalization

* rename old & new to dst & src

* swap src and dst in parameters

* add warnings and errors

* rename feature to programify

* test suite description clarity

* remove strings from datapoints

* spell out source and destination

* more verbose comments in account replace functions

* move lamport calculation

* swap lamport check for state check

* move replace functions to helper module

* make replace_account methods fallible

* refactor error handling

* add test for source program state
2023-10-04 19:54:59 +02:00
Brooks 5a9956824f
Uses `IntSet` for `RootsTracker::uncleaned_roots` (#33524) 2023-10-04 13:26:31 -04:00
Brooks d41fa346cc
Uses `IntSet` for `ShrinkCandidates` (#33522) 2023-10-04 13:07:35 -04:00
kirill lykov a25bb2e303
Add error messages for BlockstoreError (#33427)
* Add error messages for BlockstoreError

* display underlying errors

* address PR comments: remove unnecessary error from msg

Co-authored-by: steviez <stevecz@umich.edu>

* fix typo

Co-authored-by: steviez <stevecz@umich.edu>

---------

Co-authored-by: steviez <stevecz@umich.edu>
2023-10-04 18:17:42 +02:00
Brooks daaeb7410e
Adds solana-nohash-hasher (#33521) 2023-10-04 15:56:39 +00:00
Ashwin Sekar d4941cc420
initialize with new VoteState for tests (#33518) 2023-10-04 08:47:47 -07:00
Andrew Fitzgerald 5a95e5676e
Manually add lookup table addresses instead of sanitizing (#33273) 2023-10-04 08:04:43 -07:00
Ryo Onodera 05ddbf3b91
Define generic AbiExample for OnceLock (#33520)
* Define generic AbiExample for OnceLock

* Guard with cfg...

cargo-test-sbf (governance/addin-mock/program, governance/program):
error[E0658]: use of unstable library feature 'once_cell'
   --> src/abi_example.rs:559:36
     |
 559 | impl<T: AbiExample> AbiExample for std::sync::OnceLock<T> {
     |                                    ^^^^^^^^^^^^^^^^^^^^^^
     |
     = note: see issue #74465 <https://github.com/rust-lang/rust/issues/74465> for more information
     = help: add `#![feature(once_cell)]` to the crate attributes to enable
2023-10-04 23:09:43 +09:00
Yihau Chen c9d04bcfe6
chore(solana-frozen-abi): remove unused deps (#33436)
* chore: remove unused deps

* ci: increase regression of build redundancy
2023-10-04 12:00:25 +08:00
Tyera 144e6d6eec
Blockstore special columns: minimize deletes in PurgeType::Exact (#33498)
* Adjust test_purge_transaction_status_exact to test slots that cross primary indexes

* Minimize deletes by checking the primary-index range

* Fix test_purge_special_columns_compaction_filter
2023-10-04 00:58:30 +00:00
Ryo Onodera eb262aabe3
Enable the banking trace by default (#33497) 2023-10-04 09:01:28 +09:00
steviez 9761e6f251
Remove dummy entries in Blockstore special columns (#33511)
These entries were found to improve compaction performance when
LedgerCleanupService was performing direct compactions on each primary
index. Cleaning by primary index has been deprecated for a while, and
as such, these dummy entries are no longer needed and can be removed.
2023-10-03 15:53:55 -05:00