Commit Graph

3158 Commits

Author SHA1 Message Date
Brooks Prumo 0a62f01cab
Removes EAH string from datapoint metric (#28724) 2022-11-02 14:14:08 -04:00
Jeff Washington (jwash) ee0320c9f3
fix ancient append vec throwing away stores bug (#28710) 2022-11-02 08:21:03 -07:00
Jeff Washington (jwash) 7885fdca37
ancient append vecs: pass through can_randomly_shrink (#28706) 2022-11-01 11:55:28 -07:00
Jeff Washington (jwash) 9ff9051d87
move test function to test mod (#28704) 2022-11-01 11:18:02 -07:00
Jeff Washington (jwash) daf71003d3
add tests for handle_dropped_roots_for_ancient (#28703) 2022-11-01 09:03:54 -07:00
Jeff Washington (jwash) 0b51b15af2
remove duplicate pubkey during shrink (#28689) 2022-11-01 07:45:52 -07:00
behzad nouri 17680fe837
removes feature gate code preserving rent_epoch for rent exempt accounts (#28507)
* removes feature gate code preserving rent_epoch for rent exempt accounts

* update test expected hashes

Co-authored-by: jeff washington <jeff.washington@solana.com>
2022-11-01 13:36:59 +00:00
Brooks Prumo f0f108905e
Always verifies deserialized bank's slot and snapshot hash (#28688) 2022-10-31 17:48:18 -04:00
Jeff Washington (jwash) cb4c3668c7
.pubkey() instead of meta.pubkey for stored account (#28682) 2022-10-31 13:58:42 -07:00
Jeff Washington (jwash) 1ba81acf9a
remove public from rent code (#28687) 2022-10-31 13:37:36 -07:00
Jeff Washington (jwash) c47515d055
remove duplicate pubkey when shrinking or combining ancient (#28678) 2022-10-31 12:00:55 -07:00
Brooks Prumo 59bf1809fe
Uses SnapshotHash type in snapshot archive fields (#28681) 2022-10-31 14:28:35 -04:00
Dmitri Makarov 34865d032c chore: update Solana docs and code comments that specify "BPF" to "SBF" 2022-10-31 14:14:25 -04:00
Brooks Prumo 37507a2de6
Removes EAH parameter from serde_snapshot::reserialize_bank() (#28669) 2022-10-31 09:43:17 -04:00
Jeff Washington (jwash) fad6c99e9f
add test variations for shrink_collect (#28640)
add test variations
2022-10-29 14:24:08 -07:00
Jeff Washington (jwash) 5889ee30b0
add test_get_keys_to_unref_ancient (#28664) 2022-10-29 14:23:41 -07:00
Brooks Prumo bfa62da29e
Renames variant to CalcAccountsHashDataSource::IndexForTests (#28623) 2022-10-29 08:55:33 -04:00
Brooks Prumo 2ebf248f47
Renames fn to Bank::update_accounts_hash() (#28619) 2022-10-28 17:31:16 -04:00
Brooks Prumo f98e4d9198
Renames BankHashInfo field to accounts_hash (#28665) 2022-10-28 15:18:25 -04:00
Brooks Prumo 5a3d252899
Renames fn to Bank::update_accounts_hash_for_tests() (#28620) 2022-10-28 14:33:05 -04:00
Jeff Washington (jwash) 8924829e7b
extract 'unref_pubkeys' for shared code (#28653) 2022-10-28 10:12:29 -07:00
Brooks Prumo 0232944c95
Uses Storages to update accounts hash in bank_to_snapshot_archive() (#28618) 2022-10-28 12:22:58 -04:00
Jeff Washington (jwash) 0b2bc987ca
tests for maybe_unref_accounts_already_in_ancient (#28652) 2022-10-28 08:24:10 -07:00
Jeff Washington (jwash) 0c1df82d48
add current_ancient tests (#28651) 2022-10-28 07:32:23 -07:00
Jeff Washington (jwash) 8ae5af2822
ancient append vec tests (#28635) 2022-10-27 15:10:22 -07:00
Jeff Washington (jwash) 3d7cca6296
cleanup drop in ancient append vecs (#28617) 2022-10-27 11:16:46 -07:00
steviez 7b70aef33c
Add help text to genesis creation time assert (#28629)
If a validator starts with a snapshot from the wrong cluster, an assert
will trigger complaining about the genesis_creation_time encoded in the
snapshot differing from the genesis_creation_time embedded in
genesis.bin.

This could be a fairly easy mistake to make so add a help string to the
assertion to point operators in the right direction.
2022-10-27 18:02:36 +02:00
Jeff Washington (jwash) 646514e4d5
give metric around 'remove_old_stores_shrink" better name (#28613) 2022-10-27 07:33:01 -07:00
Jeff Washington (jwash) 4ac52c2a9d
ancient append vec comments and cleanup (#28616) 2022-10-27 07:32:42 -07:00
Jeff Washington (jwash) 251cab4c8b
extract handle_dropped_roots_for_ancient from ancient append vec code (#28611) 2022-10-27 07:32:04 -07:00
Ian Macalinao a2b0d0e6f0
runtime: use correct module doc comments (#27889) 2022-10-27 14:39:44 +02:00
Jeff Washington (jwash) decf3de453
extract ancient maybe_unref_accounts_already_in_ancient (#28610) 2022-10-26 14:20:32 -07:00
Jeff Washington (jwash) d4db649e7c
extract common code remove_old_stores_shrink from shrink and ancient append vecs (#28588) 2022-10-26 11:49:10 -07:00
Brooks Prumo 27269d833c
Uses enum for data source with calc_accounts_hash() (#28584) 2022-10-26 13:04:01 -04:00
Jeff Washington (jwash) 252d7f68da
combine all_are_zero_lamports (#28567) 2022-10-26 08:55:20 -07:00
Justin Starry 2d8665d307
Record inner instruction stack height (#28430)
* Record inner instruction stack height

* fix sbf tests

* feedback
2022-10-26 10:37:44 +08:00
Brooks Prumo 1dbcb78de7
Renames fn to update_accounts_hash() (#28574) 2022-10-25 16:43:19 -04:00
Jeff Washington (jwash) 51e1a7f2af
simplify mark_dirty_dead_stores (#28565) 2022-10-25 11:34:58 -07:00
Jeff Washington (jwash) 470ed4f06e
update stats in shrink_collect (#28563) 2022-10-25 11:27:33 -07:00
Brooks Prumo e79c1cba03
Renames fn to update_accounts_hash_for_tests() (#28571) 2022-10-25 14:03:19 -04:00
Jeff Washington (jwash) 8c57efb828
ancient append vecs: get rid of some locals in shared code (#28559) 2022-10-25 09:32:14 -07:00
Jeff Washington (jwash) 2c837ba4e3
reorder code to prepare for sharing (#28564) 2022-10-25 09:15:26 -07:00
Brooks Prumo f158bab0ef
Tracks how long background requests wait before processing (#28581) 2022-10-25 12:10:53 -04:00
Brooks Prumo bf214d36e3
Renames fn to calculate_accounts_hash_with_verify() (#28573) 2022-10-25 11:55:26 -04:00
Brooks Prumo e2438cf3e2
Renames fn to calculate_accounts_hash() (#28572) 2022-10-25 11:53:41 -04:00
Jeff Washington (jwash) 1ca7c8244f
rename merge() -> accumulate() (#28561) 2022-10-25 08:52:02 -07:00
Brooks Prumo bc02789c43
Renames fn to calculate_accounts_hash_from_storages() (#28566) 2022-10-24 21:07:00 -04:00
Brooks Prumo 2354a0a343
Renames fn to calculate_accounts_hash_from_index() (#28568) 2022-10-24 19:20:08 -04:00
Jeff Washington (jwash) dde8f0dfad
CurrentAncientAppendVec for clarity (#28528) 2022-10-24 15:28:52 -07:00
Jeff Washington (jwash) 8acd6bb34a
share index_read_elapsed code (#28557) 2022-10-24 15:19:40 -07:00
Jeff Washington (jwash) a422387ca8
cleanup ancient append vec merge stats (#28556) 2022-10-24 13:11:12 -07:00
Jeff Washington (jwash) 8a538f8da5
skip_rewrite skips almost all accounts with no rent (#28552) 2022-10-24 11:48:00 -07:00
Trent Nelson 1fbd818647
runtime: remove `Default` req on account scan interfaces (#28533) 2022-10-21 17:53:06 -06:00
Jeff Washington (jwash) 993583d9b3
simplify get_store_for_shrink (#28524) 2022-10-21 14:49:34 -07:00
Ashwin Sekar 9eafad467c
Add convenience methods to VoteInstruction to distinguish vote types (#28526)
* Add convenience methods to VoteInstruction to distinguish vote types

* use matches! macro instead
2022-10-21 14:17:40 -06:00
Jeff Washington (jwash) fb94e50678
remove single use function for clarity (#28523) 2022-10-21 11:42:27 -07:00
Ashwin Sekar f207af765e
Split out voting and banking threads in banking stage (#27931)
* Split out voting and banking threads in banking stage

Additionally this allows us to aggressively prune the buffer for voting threads
as with the new vote state only the latest vote from each validator is
necessary.

* Update local cluster test to use new Vote ix

* Encapsulate transaction storage filtering better

* Address pr comments

* Commit cargo lock change

* clippy

* Remove unsafe impls

* pr comments

* compute_sanitized_transaction -> build_sanitized_transaction

* &Arc -> Arc

* Move test

* Refactor metrics enums

* clippy
2022-10-20 21:10:48 +00:00
Trent Nelson cb7fe87abb bank: factor accumulation out to helper on `TotalAccountsStats` 2022-10-20 10:50:51 -07:00
Jeff Washington (jwash) 09ede8b85c
reuse update_shrink_stats for combine_ancient_slots (#28466) 2022-10-19 14:17:34 -07:00
Alexander Meißner 5aca7df232
Bank::create_executor() (#28474)
* Moves the integration test test_bpf_loader_upgradeable_deploy_with_max_len() from the bpf_loader into the runtime.

* Adds Bank::create_executor().

* Adds a test for Bank::create_executor().
2022-10-19 22:28:57 +02:00
Brooks Prumo 70e83e82c6
Waits to handle snapshot requests until after startup verification is complete (#28481) 2022-10-19 13:39:47 -04:00
Jeff Washington (jwash) 2b11926c9e
simplify combine_ancient_slots (#28464) 2022-10-19 09:35:21 -07:00
Jeff Washington (jwash) 8b115ff489
factor out update_shrink_stats (#28465)
* use local for shrink_stats

* renames and remove .as_us()

* factor out update_shrink_stats

* use integer to report us in metrics
2022-10-19 08:08:04 -07:00
Jeff Washington (jwash) 040035063f
share shrink_collect code (#28454)
* share shrink_collect code

* use correct stats
2022-10-19 08:07:05 -07:00
Brooks Prumo 1cc9cf927c
Supports warping with Epoch Accounts Hash (#28459) 2022-10-19 10:37:14 -04:00
Jeff Washington (jwash) ca115594ff
remove concept of 'full' ancient append vec (#28449) 2022-10-18 15:08:04 -07:00
Jeff Washington (jwash) c89bd0d6a4
make ancient shrink consistent with shrink (#28457) 2022-10-18 15:05:32 -07:00
Jeff Washington (jwash) 825b83c95c
simple minor refactoring (#28456) 2022-10-18 15:05:06 -07:00
Jeff Washington (jwash) 3835ac166e
refactor load_accounts_index_for_shrink for easier sharing (#28455) 2022-10-18 14:55:10 -07:00
Jeff Washington (jwash) d52e28ac22
combine sort into get_unique_accounts_from_storages (#28450) 2022-10-18 11:52:48 -07:00
Jeff Washington (jwash) b583ec79e1
add tests for should_move_to_ancient_append_vec (#28438)
add tests for should_moev_to_ancient_append_vec
2022-10-18 11:41:35 -07:00
Jeff Washington (jwash) fd2e671861
remove slot# from account hash (#28405)
* remove slot# from account hash

* add feature

* fix tests

* constants to help clarify 'irrelevant' changes

* move to enum for enforcing irrelevancy

* ignore unsupported tests
2022-10-18 08:03:37 -07:00
Jeff Washington (jwash) 682999a423
accounts hash calculation uses files instead of memory (#28065) 2022-10-18 07:51:38 -07:00
Jeff Washington (jwash) b669b827fb
refactor and test get_sorted_potential_ancient_slots (#28436) 2022-10-18 07:45:43 -07:00
Justin Starry 70445b7402
Refactor: Rename `max_invoke_depth` to `max_invoke_stack_height` (#28427)
Refactor: Rename max_invoke_depth to max_invoke_stack_height
2022-10-17 23:54:56 +08:00
Jeff Washington (jwash) 28a89a1d99
remove expected rent collection and rehashing completely (#28422) 2022-10-17 07:24:42 -07:00
Jeff Washington (jwash) f896513864
remove unnecessary clones (#28406) 2022-10-16 20:33:07 -07:00
Jeff Washington (jwash) 0807105c5a
refactoring of accounts hash to prepare for using files always (#28379) 2022-10-14 12:29:43 -07:00
Brooks Prumo 31c2b29941
Sends both an EAH and a snapshot request from `set_root()` (#28363) 2022-10-14 11:00:04 -04:00
Brooks Prumo dd7fee8f32
Re-enqueues unhandled ABS requests (#28362) 2022-10-13 16:25:39 -04:00
Brooks Prumo 9cbd00fdbc
Converts PendingAccountsPackage to a channel (#28352) 2022-10-13 12:47:36 -04:00
Jeff Washington (jwash) 72d6927fa1
factor out hashing of storages for caching (#28261) 2022-10-13 08:53:54 -07:00
Jeff Washington (jwash) 53a1a14868
eliminate worthless work in store_accounts_to (#28365) 2022-10-12 13:30:20 -07:00
Alexander Meißner 664339e239
Refactor - executor_cache (#28332)
* Renames CachedExecutors => BankExecutorCache.

* Renames TransactionExecutor => TransactionExecutorCacheEntry.

* Renames TransactionExecutorStatus => TxBankExecutorCacheDiff.

* Adds TransactionExecutorCache.

* Renames the items of TxBankExecutorCacheDiff.
2022-10-12 18:09:03 +02:00
steviez db9e32d71d
Revert "log adding root every 10s (#28280)" (#28334)
This reverts commit 16853acf35.

We get similar coverage from the slot field of bank-forks_set_root;
additionally, we can see banks with bank-new_from_parent-heights.
2022-10-11 12:49:49 -05:00
Brooks Prumo 020cc090d5
Refactors ABS snapshot request handling (#28326) 2022-10-11 13:17:06 -04:00
Ian Macalinao cdf77bb824
runtime: fix typo 'transaction' (#27948) 2022-10-11 07:47:10 -07:00
Jeff Washington (jwash) 7a120b8b62
accounts_db::load returns None for zero lamport accounts (#28311) 2022-10-11 07:43:03 -07:00
Brooks Prumo d500391006
Removes redundant accounts_package_type (#28325) 2022-10-10 17:11:38 +00:00
Alexander Meißner 2fc8e533a2
Refactor - Move `executor_cache` to program-runtime crate (#28322)
* Moves CachedExecutors, related structs, consts and tests into the program-runtime crate.

* Moves TransactionExecutor, related enum and type defs into executor_cache mod.
2022-10-10 15:01:41 +02:00
Jeff Washington (jwash) 16853acf35
log adding root every 10s (#28280) 2022-10-07 09:19:34 -07:00
Jeff Washington (jwash) a1fe8dd444
add info for load race condition asserts (#28277) 2022-10-07 08:55:01 -07:00
Tao Zhu 0324573667
report additional transaction errors to metrics (#28285) 2022-10-07 10:36:22 -05:00
Jeff Washington (jwash) a400178744
hash calc chunking cleanup (#28274) 2022-10-06 23:23:26 -07:00
Jeff Washington (jwash) 76c30e7bd0
move accounts_db::load_without_fixed_root to test mod (#28271) 2022-10-06 17:11:08 -07:00
Jeff Washington (jwash) 66cd290d04
add chunk tracking in SplitAncientStorages (#28202) 2022-10-06 11:19:53 -07:00
Jeff Washington (jwash) bb9a19ac86
minor refactoring of accounts hash cache (#28260) 2022-10-06 10:50:16 -07:00
Jeff Washington (jwash) 435d4aded9
run initial hash calc in background, using background threads (#28239) 2022-10-05 19:42:06 -07:00
Brooks Prumo eec2a2a301
Move epoch accounts hash utility functions (#28219) 2022-10-05 23:29:22 +00:00
Jeff Washington (jwash) 456d4ae93a
accounts hash calc, add get_ancient_slots (#28240) 2022-10-05 15:32:39 -07:00