Commit Graph

2214 Commits

Author SHA1 Message Date
Jeff Washington (jwash)
4d6190a1ba change bg waiting metrics to percent (#20955)
* Revert part of "AcctIdx: cleanup bg threads (#20731)"

This reverts part of commit 47de4f31b6.

* change bg waiting metrics to percent
2021-10-26 15:09:17 -05:00
Jack May
2515f6a04f Update deprecation versions (#20959) 2021-10-26 09:06:41 -07:00
Lijun Wang
bbe3ce3db5 Accountsdb plugin write ordering (#20948)
Use the write_version in the Accounts's meta data so that account write with lower write_version would not overwrite the higher ones.
2021-10-25 14:07:56 -07:00
Alexander Meißner
cf0fd5b2ca Moves NonceKeyedAccount from the SDK to the Runtime. (#20954) 2021-10-25 22:58:18 +02:00
Jeff Washington (jwash)
9e85499d4c fix hash calc # storages, # slots (#20832) 2021-10-25 19:37:50 +00:00
Jeff Washington (jwash)
43ea579f63 add cli for --accounts-hash-num-passes (#20827) 2021-10-25 09:45:46 -05:00
Tao Zhu
c2bfce90b3 - cost_tracker is data member of a bank, it can report metrics when bank is frozen (#20802)
- removed cost_tracker_stats and histogram
- move stats reporting outside of bank freeze
2021-10-24 22:19:23 -05:00
Lijun Wang
f14365f4b4 Accountsdb plugin postgres -- bulk insertion at startup (#20763)
Use bulk insertion to Postgres at startup to reduce time taken for initial snapshot restore for postgres plugin. Avoid duplicate writes of accounts at startup. Doing account plugin notification and indexing in parallel.

Improved error handling for postgres plugin to show the real db issues for debug purpose
Added more metrics for postgres plugin.
Refactored plugin centric code out to a sub module from accounts_db and added unit tests
2021-10-24 12:43:33 -07:00
Jack May
bfbbc53dac Divorce the runtime from FeeCalculator (#20737) 2021-10-22 14:32:40 -07:00
Justin Starry
735016661b Report timing info for stakes cache updates from txs (#20856) 2021-10-22 12:49:02 -04:00
dependabot[bot]
1d9c1ccfd2 chore: bump blake3 from 1.0.0 to 1.1.0 (#20877)
* chore: bump blake3 from 1.0.0 to 1.1.0

Bumps [blake3](https://github.com/BLAKE3-team/BLAKE3) from 1.0.0 to 1.1.0.
- [Release notes](https://github.com/BLAKE3-team/BLAKE3/releases)
- [Commits](https://github.com/BLAKE3-team/BLAKE3/compare/1.0.0...1.1.0)

---
updated-dependencies:
- dependency-name: blake3
  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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <dependabot-buildkite@noreply.solana.com>
2021-10-22 09:44:42 -06:00
Alexander Meißner
97c2732d02 Refactor: Cleanup InvokeContext (#20785)
* Move blockhash and fee_calculator in ThisInvokeContext instead of using a reference.

* Moves tx_wide_compute_cap into InvokeContext::push().

* Adds ThisInvokeContext::new_mock() constructor.

* Adds missing loader account in uses of MockInvokeContext.

* Use keyed_account_at_index() when accessing keyed_accounts.

* Makes sysvar interface consistent between ThisInvokeContext and MockInvokeContext,
in order to add InvokeContext::get_sysvars().

* Adds InvokeContext::set_blockhash() and InvokeContext ::set_fee_calculator().

* Adds new_mock_with_features.

* Makes ancestors optional in ThisInvokeContext.

* Adds prepare_mock_invoke_context() and mock_process_instruction().
2021-10-21 20:57:42 +02:00
Jack May
a8098f37d0 add checked instructions sysvar api (#20790) 2021-10-19 21:01:58 -07:00
Jack May
58164517e4 Add program heap bump instruction (#20607) 2021-10-19 21:01:39 -07:00
Jon Cinque
cb2bd65858 runtime: Add foundation stake pool withdraw authority (#20797) 2021-10-19 21:49:21 +00:00
Jeff Washington (jwash)
47a58a38c2 clean_accounts calls AcctIdx: get_many (#20715)
* AcctIdx: get_many

* keep read lock

* AcctIdx: get_many optionally adds to cache

* rename
2021-10-19 15:54:06 -05:00
Jeff Washington (jwash)
0acbfdfcb9 hash calc: sort time is redundantly counted as part of 'total time' (#20791) 2021-10-19 15:52:43 -05:00
Tao Zhu
7496b5784b - make cost_tracker a member of bank, remove shared instance from TPU; (#20627)
- decouple cost_model from cost_tracker; allowing one cost_model
  instance being shared within a validator;
- update cost_model api to calculate_cost(&self...)->transaction_cost
2021-10-19 14:37:33 -05:00
Michael Vines
2b76ea51b4 Reduce visibility of Hash struct contents 2021-10-19 09:30:47 -07:00
Jeff Washington (jwash)
46bf7d4a4a AcctIdx: support 2^24 bins (#20739) 2021-10-18 14:05:16 -05:00
Brooks Prumo
751b45df64 Make pub get_incremental_snapshot_archives() (#20725) 2021-10-18 13:48:50 -05:00
sakridge
c9b367c350 Minimum of 1 lamport for rent (#20650) 2021-10-18 19:09:53 +02:00
Jeff Washington (jwash)
6ec159a1ae parallelize update_index (#20601) 2021-10-18 09:07:01 -05:00
Jeff Washington (jwash)
0d934d311e sort shrink acct indexes (#20708) 2021-10-18 09:06:32 -05:00
Alexander Meißner
e98cfbb570 Removes deprecated BpfComputeBudget. (#20728) 2021-10-18 09:55:41 +02:00
Jeff Washington (jwash)
70b2e5fef2 hash calc uses all threads during startup (#20735) 2021-10-15 17:41:23 -05:00
Jeff Washington (jwash)
47de4f31b6 AcctIdx: cleanup bg threads (#20731) 2021-10-15 16:15:11 -05:00
Jeff Washington (jwash)
254ad45878 sort pubkeys for clean (#20706) 2021-10-15 14:31:06 -05:00
Jeff Washington (jwash)
6d7da6dbee clean:clone uncleaned_roots for loop (#20714) 2021-10-15 13:18:00 -05:00
Jeff Washington (jwash)
5a6d732d48 AcctIdx: separate account index by startup and !startup (#20711) 2021-10-15 13:04:32 -05:00
Jeff Washington (jwash)
9d62963240 AcctIdx: get_internal allows not adding to in_mem (#20716) 2021-10-15 13:04:05 -05:00
Jeff Washington (jwash)
1e064c32e2 pull append_vec_id() out of loop (#20713) 2021-10-15 10:41:23 -05:00
Jeff Washington (jwash)
00b9056004 clean metric: total_us (#20707) 2021-10-15 10:41:05 -05:00
Jeff Washington (jwash)
b80fd7566a add worker threads during startup (#20700) 2021-10-15 10:40:36 -05:00
Tao Zhu
e225ed7ab0 update config by testnet (#20699) 2021-10-15 15:32:46 +00:00
Jeff Washington (jwash)
7eead4e25f clean stats on acct idx lookup (#20632) 2021-10-14 08:37:42 -05:00
Jeff Washington (jwash)
c43b6e0248 log metric for clean_accounts.delta_insert_us (#20634) 2021-10-14 08:37:14 -05:00
Jeff Washington (jwash)
9b042fed30 AcctIdx: support unref first class for perf (#20638) 2021-10-14 08:36:53 -05:00
Jack May
da45be366a Remove blockhash from fee calculation (#20641) 2021-10-13 13:10:58 -07:00
Tao Zhu
220fd41bbc fix unstable test (#20645) 2021-10-13 11:43:18 -05:00
Jeff Washington (jwash)
aec9d8bf2f add clean stats (#20631) 2021-10-13 08:22:11 -05:00
Alexander Meißner
1d813ea078 Refactor: Make program_id always last in program chain (#20598)
* Replaces program_id field in InvokeContextStackFrame by index.

* Swaps order of program account and programdata account.

* Removes program_id parameter from InvokeContext::push().
2021-10-13 08:58:20 +02:00
Jeff Washington (jwash)
7631011d8c AcctIdx: add flush remove stat (#20625) 2021-10-12 16:13:32 -05:00
Alexander Meißner
06cad19c91 Adds missing program_id in InvokeContext::push() calls. (#20621) 2021-10-12 19:26:55 +02:00
Tao Zhu
005d6863fd - move cost tracker into bank, so each bank has its own cost tracker; (#20527)
- move related modules to runtime
2021-10-12 08:51:33 -05:00
Jack May
b0ee5d6cfa Add debug guard to catch invalid params (#20603) 2021-10-11 16:47:17 -07:00
Jeff Washington (jwash)
0da677e213 AcctIdx: write disk only when removing from mem (#20578) 2021-10-11 14:47:06 -05:00
dependabot[bot]
9d94e43839 chore: bump ouroboros from 0.12.0 to 0.13.0 (#20591)
* chore: bump ouroboros from 0.12.0 to 0.13.0

Bumps [ouroboros](https://github.com/joshua-maros/ouroboros) from 0.12.0 to 0.13.0.
- [Release notes](https://github.com/joshua-maros/ouroboros/releases)
- [Commits](https://github.com/joshua-maros/ouroboros/commits)

---
updated-dependencies:
- dependency-name: ouroboros
  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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <you@example.com>
2021-10-11 11:54:37 -06:00
Jeff Washington (jwash)
a8e000a2a6 add filler accounts to bloat validator and predict failure (#20491)
* add filler accounts to bloat validator and predict failure

* assert no accounts match filler

* cleanup magic numbers

* panic if can't load from snapshot with filler accounts specified

* some renames

* renames

* into_par_iter

* clean filler accts, too
2021-10-11 12:46:27 -05:00
Alexander Meißner
f30f3bddbb Refactor: Remove program_id from process_instruction() (#20540)
* Replaces usage of program_id parameter by invoke_context.get_caller()?.

* Removes "pubkey: &Pubkey" parameter from "process_instruction()".
2021-10-10 22:29:18 +02:00