Commit Graph

2544 Commits

Author SHA1 Message Date
c322842257 Replace channel with Mutex<Option> for AccountsPackage (#24013) 2022-04-06 05:47:19 -05:00
4ea59d8cb4 Set drop callback on first root bank (#23999) 2022-04-05 13:02:33 -05:00
4a11fa072f hash_account_with_rent_epoch (#24104) 2022-04-05 08:10:31 -05:00
6a7f6585ce persist historical_roots (#24029) 2022-04-04 13:13:11 -05:00
132f08486a remove basically duplicate function (#24107) 2022-04-04 12:55:05 -05:00
997db7637c do simple math without floats 2022-04-04 12:32:00 -05:00
f8f3edac3c update comment (#24108) 2022-04-04 11:06:01 -05:00
2820b64eb3 roots_original -> historical_roots (#24063) 2022-04-04 09:12:12 -05:00
ef3e3dce7a hides implementation details of vote-accounts from public interface (#24087) 2022-04-04 13:20:26 +00:00
fa7eb7f30c improves Stakes::activate_epoch performance (#24068)
Tested with mainnet stakes obtained from the ledger at 5 recent epoch
boundaries, this code is ~30% faster than current master.

Current code:
  epoch: 289, elapsed: 82901us
  epoch: 290, elapsed: 80525us
  epoch: 291, elapsed: 79122us
  epoch: 292, elapsed: 79961us
  epoch: 293, elapsed: 78965us

This commit:
  epoch: 289, elapsed: 61710us
  epoch: 290, elapsed: 55721us
  epoch: 291, elapsed: 55886us
  epoch: 292, elapsed: 55399us
  epoch: 293, elapsed: 56803us
2022-04-02 22:48:51 +00:00
0ca5a0ec68 prior_roots -> historical_roots (#24064) 2022-04-02 12:01:43 -05:00
ec97d6d078 rename remove_old_roots (#24059) 2022-04-02 12:01:13 -05:00
3ca4fffa78 root -> alive_root (#24062) 2022-04-02 12:00:52 -05:00
792bbf75ab Support sending versioned txs in AsyncClient (#23982) 2022-04-02 11:12:02 +08:00
1b45c509c3 Refactor: Use InstructionContext::get_instruction_data() (#24014)
* Adds transaction_context and instruction_context where invoke_context.get_keyed_accounts() is used.

* Use instruction_context.get_instruction_data() instead of an explicit parameter.

* Removes instruction_data parameter from Executor::execute().

* Removes instruction_data parameter from ProcessInstructionWithContext.
2022-04-01 15:48:05 +02:00
31997f8251 hash calc scanning takes config (#24016) 2022-03-31 14:26:37 -05:00
9c8dad33c7 add epoch_schedule and rent_collector to hash calc (#24012) 2022-03-31 10:51:18 -05:00
da001d54e5 calculate_accounts_hash_helper uses config (#24003) 2022-03-31 09:29:45 -05:00
cb5e67d327 Use Rent sysvar directly for stake split instruction (#24008)
* Use Rent sysvar directly for stake split ix

* Add feature to gate rent sysvar change

* fix tests

* cargo clippy
2022-03-31 16:46:35 +08:00
125f9634fd add hash calc config.use_write_cache (#24005) 2022-03-30 17:19:34 -05:00
82c5230bc2 AccountsPackage::new less brittle (#23968) 2022-03-30 14:06:15 -05:00
1fb82d7924 fix typo in comments (#24004) 2022-03-30 09:47:51 -05:00
af9344fe22 SortedStorages refactoring (#23998) 2022-03-30 09:19:03 -05:00
5636570d6d add roots_original to roots tracker (#23849) 2022-03-30 08:52:45 -05:00
da844d7be5 refactoring of SortedStorages tests to make other changes easier (#23990) 2022-03-29 22:06:48 -05:00
5a613e9b6e use CalcAccountsHashConfig in calculate_accounts_hash (#23987) 2022-03-29 22:05:47 -05:00
794645d092 Adds check_number_of_instruction_accounts() to all builtin programs except for the address-lookup-table. (#23984) 2022-03-29 19:06:50 +02:00
31b707b625 Specify if archive size datapoint is for full or incremental snapshots (#23941) 2022-03-26 12:29:13 -05:00
c24de17278 remove index hash calculation as an option (#23928) 2022-03-25 15:32:53 -05:00
ec78702bc8 RollingBitField::get_all_less_than (#23919) 2022-03-25 15:20:22 -05:00
acfd22712b RollingBitFIeld to its own file (#23917) 2022-03-25 10:37:00 -05:00
55d61023f7 document 'accounts' hash (#23907) 2022-03-24 15:58:52 -05:00
140c8dd01f Refactor: Replaces KeyedAccount in_get_sysvar_with_account_check (#23905)
* Replaces all use sites of get_sysvar_with_account_check by get_sysvar_with_account_check2.

* Removes get_sysvar_with_account_check.

* Renames get_sysvar_with_account_check2 to get_sysvar_with_account_check.
2022-03-24 19:30:42 +01:00
37c36ce3fa pass stats separately from CalcAccountsHashConfig (#23892) 2022-03-24 12:48:47 -05:00
82328fd9d8 move max_clean_root deeper in flush cache (#23869) 2022-03-24 12:45:49 -05:00
c31db81ac4 Use VoteAccountsHashMap type alias in all applicable spots (#23904) 2022-03-24 12:09:48 -05:00
a22a2384bf fix ci test error (#23908) 2022-03-24 11:30:20 -05:00
5b916961b5 HashCalc uses self.accounts_cache (#23890) 2022-03-24 10:34:28 -05:00
f2aea3b7c7 flush_slot_cache takes [Slot] (#23865) 2022-03-24 10:24:36 -05:00
9d3b17c635 HashCalc uses self.accounts_index (#23888) 2022-03-24 10:06:32 -05:00
396b49a7c1 Start saving/loading prior_roots(_with_hash) to snapshot (#23844)
* Start saving/loading prior_roots(_with_hash) to snapshot

* Update runtime/src/accounts_index.rs

Co-authored-by: Michael Vines <mvines@gmail.com>

* Update runtime/src/accounts_index.rs

Co-authored-by: Michael Vines <mvines@gmail.com>

* update comment

Co-authored-by: Michael Vines <mvines@gmail.com>
2022-03-24 10:06:24 -05:00
b22165ad69 hash calc uses self.filler_account_suffix (#23887) 2022-03-24 09:58:06 -05:00
9022931689 calc hash uses self.num_hash_scan_passes (#23883) 2022-03-24 09:44:42 -05:00
e3eb002f66 Log storage size stats at hash calc (#23843) 2022-03-24 09:40:35 -05:00
f1a411c897 add epoch_schedule and rent_collector to hash calc (#23857) 2022-03-24 09:39:22 -05:00
db5d68f01f HashCalc uses self.accounts_hash_cache_path (#23882) 2022-03-24 09:31:55 -05:00
90009f330b small refactor to shorten the lock on slot_under_contention hashset (#23891)
* small refactor to shorten the lock on slot_under_contention hashset

* adding comments

* comments
2022-03-24 08:20:56 -05:00
91c2729856 Replaces keyed_account get_signers() by InstructionContext::get_signers(). (#23863) 2022-03-24 12:57:51 +01:00
5a892af2fe disable 'check_hash' on accounts hash calc (#23873) 2022-03-23 21:03:31 -05:00
3e22d4b286 calc hash uses self.thread_pool_clean (#23881) 2022-03-23 20:52:38 -05:00