Commit Graph

3129 Commits

Author SHA1 Message Date
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
Jeff Washington (jwash) ad0742c7cf
exit early deep in bank freeze, avoiding some unnecessary work (#28238)
exit early on bank freeze
2022-10-05 14:49:33 -07:00
Brooks Prumo a8c6a9e5fc
Bank::freeze() waits for EAH calculation to complete (#28170) 2022-10-05 17:44:35 -04:00
Jeff Washington (jwash) 3f5eec32cd
refactor SplitAncientStorages::new for testing (#28235) 2022-10-05 12:56:29 -07:00
Jeff Washington (jwash) f464c69764
refactor into SplitAncientStorages::new (#28228) 2022-10-05 08:46:53 -07:00
Jeff Washington (jwash) 3339570a70
accounts hash scan refactoring (#28220) 2022-10-04 10:19:50 -07:00
Jeff Washington (jwash) fd11e261dd
use ref for snapshot_storages.iter_range (#28205) 2022-10-04 09:11:44 -07:00
Justin Starry ddf95c181c
RPC: Support versioned txs in getFeeForMessage API (#28217)
* RPC: Support versioned txs in getFeeForMessage API

* Update sdk/program/src/message/sanitized.rs

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

Co-authored-by: Tyera Eulberg <teulberg@gmail.com>
2022-10-05 00:00:34 +08:00
Jeff Washington (jwash) 39b37e2c6f
remove LoadZeroLamports enum (#28204)
remove feature return_none_for_zero_lamport_accounts
2022-10-04 08:06:56 -07:00
Jeff Washington (jwash) e2c0999568
rename fields in SplitAncientStorages (#28200) 2022-10-03 17:18:08 -07:00
Jeff Washington (jwash) df76cb5ad9
refactor into split_storages_ancient (#28194) 2022-10-03 14:25:33 -07:00
Jeff Washington (jwash) 7b4a6ded5b
remove feature return_none_for_zero_lamport_accounts (#28144) 2022-10-03 12:22:56 -07:00
Jeff Washington (jwash) 05ebd42ac5
remove troublesome assert (#28195) 2022-10-03 12:18:48 -07:00
Jeff Washington (jwash) 2d4c88574c
add accounts hash get_binned_data() (#28168) 2022-10-03 12:17:32 -07:00
Brooks Prumo 5d044ccb34
abs: Update last_full_snapshot_slot before calling clean_accounts() (#27940) 2022-10-03 09:34:13 -04:00
Jeff Washington (jwash) adc4e633a2
accounts hash calc refactoring (#28164) 2022-10-01 17:09:50 -07:00
Jeff Washington (jwash) 7fd8540b49
refactor CacheHashDataFile to use mmapped data (#28163)
reafactor CacheHashDataFile to use mmapped data
2022-10-01 17:09:36 -07:00
Jeff Washington (jwash) 929a311155
refactor accts hash tests (#28165) 2022-10-01 17:09:29 -07:00
Jeff Washington (jwash) 9255506e92
refactor some accts hash tests (#28167) 2022-09-30 14:24:48 -07:00
Brooks Prumo 2f8f6c6a31
Send Epoch Accounts Hash requests from set_root() (#27764) 2022-09-30 14:59:41 -04:00
Jeff Washington (jwash) cfc124c825
acct idx can no longer use write cache (#28150) 2022-09-30 10:55:27 -07:00
Jeff Washington (jwash) 2196fcb4c8
alignment work (#28123) 2022-09-30 07:34:18 -07:00
Jeff Washington (jwash) 80c0173452
width of hash calc bins was off by 1 (#28124) 2022-09-29 11:45:53 -07:00
Brooks Prumo e6b237c2e8
eah: Add log in bank (#28110) 2022-09-28 14:45:42 -04:00
Haoran Yi 5b4a669e5f fix typo 2022-09-28 09:48:56 -05:00
Brooks Prumo 4d02292931
Use epoch_accounts_hash::calculation_stop() (#28106) 2022-09-28 09:11:18 -04:00
Jeff Washington (jwash) a89010cc89
fix duplicate local variable (#28093) 2022-09-27 08:48:05 -07:00
Jeff Washington (jwash) c7cda6c658
refactor hash calc caching (#27990) 2022-09-26 15:21:47 -07:00
apfitzge cdb95a362f
update upacking thread names (#28081)
* update upacking thread names

* remove - add ht
2022-09-26 14:51:31 -05:00
Jeff Washington (jwash) 1aa9c57a41
hash cache get_slice (#28018) 2022-09-26 09:30:20 -07:00