Commit Graph

3374 Commits

Author SHA1 Message Date
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
Justin Starry a0f49c2e4f
Add assertions for computed block cost limit constants (#28056) 2022-09-26 12:50:31 +00:00
Alexander Meißner 71aee4fcaf
Feature: Explicitly limit `TransactionContext::instruction_trace_capacity` (#27938)
* Renames instruction_stack_capacity => instruction_stack_capacity.

* Replaces number_of_instructions_at_transaction_level by instruction_trace_capacity.

* Adds MaxInstructionTraceLengthExceeded.

* Adjusts TransactionContext::new() parameter.

* Adds feature gate limit_max_instruction_trace_length.

* Adds test_max_instruction_trace_length().
2022-09-26 10:47:16 +02:00
Jeff Washington (jwash) de7a5f2c68
get rid of unnecessary mut (#28017) 2022-09-25 18:39:02 -07:00
Alessandro Decina b9f4c8e3c0
BorrowedAccount: add set_data_from_slice(), make set_data() take owned values (#27836)
* BorrowedAccount: add set_data_from_slice(), make set_data() take owned values

set_data() used to take a slice and would force alloc+copy if the caller
has owned values (eg account creation, account lookup table).

Expose set_data_from_slice() for callers that have slices, and switch
set_data() to taking an owned Vec.

* BorrowAccount: refactor common accounts_update_delta code in helper method

* BorrowedAccount: add extend_from_slice()

This allows avoiding copies appending entries to account lookup tables.

* BorrowedAccount: remove unnecessary ifs around update_accounts_resize_delta
2022-09-24 01:37:02 +01:00
Tao Zhu f64242847d
increase instruction data cost (#27992) 2022-09-23 16:15:31 -05:00
behzad nouri 9ee53e594d
patches clippy errors from new rust nightly release (#28028) 2022-09-23 20:57:27 +00:00
apfitzge ca55fc8a05
root_bank_cache (#27985)
* BankForks: atomic root

* root bank cache

* fix and clean up

* added some tests
2022-09-23 15:01:03 -05:00
Jeff Washington (jwash) 89b0abcf4d
get_one_epoch_old_slot_for_hash_calc_scan to handle many old append vecs (#28000) 2022-09-23 11:17:02 -07:00
behzad nouri 315707504e
boxes StakeState in stake_account::Error::InvalidDelegation (#28006)
This avoids clippy::result_large_err error on newer rust versions:
https://rust-lang.github.io/rust-clippy/master/#result_large_err
2022-09-23 14:04:44 +00:00
Michael Vines fb686cc83b Nodes with 0% commission are now included in the `getBlock` RPC method `rewards` response field. 2022-09-22 20:31:41 -07:00
behzad nouri 9a57c64f21
patches clippy errors from new rust nightly release (#27996) 2022-09-22 22:23:03 +00:00
apfitzge 64f64dedea
Use regex in get_snapshot_file_kind (#27728)
refactor get_snapshot_file_kind to use regex
2022-09-22 13:55:48 -05:00
Brooks Prumo 1ee595ca9c
remove AccountsDb::initial_blockstore_processing_complete (#27974) 2022-09-22 13:52:04 -04:00
apfitzge a846d50b6a
Interleaved snapshot unpack versioning (#27484)
* Issue #27346 - deserialize and check snapshot version before account fields

* Update comment on SnapshotFileKind

Co-authored-by: Brooks Prumo <brooks@prumo.org>

* SnapshotStorageRebuilderResult to RebuiltSnapshotStorage

* better error propagation from rebuild_storage

Co-authored-by: apfitzge <apfitzge@users.noreply.github.com>
Co-authored-by: Brooks Prumo <brooks@prumo.org>
2022-09-22 11:44:25 -05:00
dependabot[bot] c4fa849844
chore: bump itertools from 0.10.3 to 0.10.5 (#27962)
* chore: bump itertools from 0.10.3 to 0.10.5

Bumps [itertools](https://github.com/rust-itertools/itertools) from 0.10.3 to 0.10.5.
- [Release notes](https://github.com/rust-itertools/itertools/releases)
- [Changelog](https://github.com/rust-itertools/itertools/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-itertools/itertools/commits)

---
updated-dependencies:
- dependency-name: itertools
  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>
2022-09-21 15:28:49 -06:00
dependabot[bot] 00e4313542
chore: bump regex from 1.5.6 to 1.6.0 (#27678)
* chore: bump regex from 1.5.6 to 1.6.0

Bumps [regex](https://github.com/rust-lang/regex) from 1.5.6 to 1.6.0.
- [Release notes](https://github.com/rust-lang/regex/releases)
- [Changelog](https://github.com/rust-lang/regex/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/regex/compare/1.5.6...1.6.0)

---
updated-dependencies:
- dependency-name: regex
  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>
2022-09-21 18:09:33 +00:00
Brooks Prumo 5d7130623f
abs: Snapshot requests are handled in priority-order (#27942) 2022-09-21 12:39:09 -04:00
Brooks Prumo ceac6a1094
abs: Refactor determining the accounts package type (#27944) 2022-09-20 20:31:08 -04:00
Jeff Washington (jwash) 6e24edb771
log metric in case of race condition (#27951) 2022-09-20 16:23:25 -07:00
Ian Macalinao ab8b3386a1
runtime: fix typo for 'exempt' (#27947) 2022-09-20 16:58:57 -06:00
Ian Macalinao aa52b8aec1
runtime: fix 'governed' typo (#27946) 2022-09-20 13:05:13 -06:00
Jeff Washington (jwash) 4893dd3490
re-enable caching of hash calculation (#27920) 2022-09-20 10:44:57 -07:00
Jeff Washington (jwash) d74480a125
when shrinking, don't send entire old append vec to clean (#27914) 2022-09-20 06:32:07 -07:00
Jeff Washington (jwash) f2d6a7ecea
bank.initial_blockstore_processing_complete to avoid concurrent hash calculations (#27776)
* bank.initial_blockstore_processing_complete to avoid concurrent hash calculations

* Update runtime/src/bank.rs

Co-authored-by: Brooks Prumo <brooks@prumo.org>

* Update runtime/src/bank.rs

Co-authored-by: Brooks Prumo <brooks@prumo.org>

* Rename TestValidator::set_startup_verification_complete()

* Initialize with `AtomicBool::new(false)` instead of `default()`

* snapshot tests: move where `initial_blockstore_processing_completed()` is called

* fixup bank_forks.rs calling `is_initial_blockstore_processing_complete()`

* only call initial_blockstore_processing_completed() in blockstore_processor

Co-authored-by: Brooks Prumo <brooks@prumo.org>
Co-authored-by: Brooks Prumo <brooks@solana.com>
2022-09-19 13:00:21 -07:00
Jeff Washington (jwash) 9f097301df
remove dead code (#27858) 2022-09-19 07:36:40 -07:00
Ian Macalinao 7d06f7a174
runtime: fix typo in expected_rent_collection.rs (#27890) 2022-09-17 21:58:33 -06:00
Ian Macalinao 0e19b22e08
runtime: fix typo occured -> occurred (#27891) 2022-09-17 21:58:09 -06:00
Ian Macalinao c1c93adf67
runtime: fix typo recalcluate -> recalculate (#27892) 2022-09-17 21:57:38 -06:00
Ian Macalinao 9cec2ef577
runtime: fix typo situtation -> situation (#27893) 2022-09-17 21:57:13 -06:00
Ian Macalinao 543897a439
runtime: fix typo idnex -> index (#27895) 2022-09-17 21:56:25 -06:00
Ian Macalinao 36fe33a1f3
runtime: ifno -> info (#27897) 2022-09-17 21:55:53 -06:00
Ian Macalinao c237f15295
runtime: ParitalEq -> PartialEq (#27900) 2022-09-17 21:55:29 -06:00
Ian Macalinao 8c24840247
runtime: compleleted -> completed (#27901) 2022-09-17 21:53:57 -06:00
Jeff Washington (jwash) 1db7da5c32
pass enable_rehashing to verify_bank_hash_and_lamports (#27827) 2022-09-17 06:09:06 -07:00
Jeff Washington (jwash) 1d701aa4f9
ancient append vec stats: ancient_append_vecs_shrunk (#27824) 2022-09-16 12:58:48 -07:00
kirill lykov 1a4b8b5b79
recycle_store_count is moved to try_recycle_store (#27797) 2022-09-15 21:27:09 +02:00
Justin Starry b9700244b5
Increase transaction account lock limit from 64 to 128 (#27242)
* Increase transaction account lock limit from 64 to 256

* fix bpf test

* Reduce lock limit from 256 to 128
2022-09-15 13:50:14 -04:00
Jeff Washington (jwash) 138d5ed5b0
don't return zero lamport accounts from 'load' with feature (#27793)
* don't return zero lamport accounts from 'load'

* add feature

* rename
2022-09-15 08:46:32 -07:00
kirill lykov 6a7fbf7aba
move create_store counting to create_store (#27781) 2022-09-14 22:02:29 +02:00
Brooks Prumo 2a875a894b
Fix and expand EAH calculation info (#27779) 2022-09-14 15:23:43 -04:00
Jeff Washington (jwash) 3a47dfb8e6
add bank.bank_enable_rehashing_on_accounts_hash (#27768) 2022-09-14 11:29:23 -07:00
Jeff Washington (jwash) 4f232250e5
add `dirty_ancient_stores` to clean metrics (#27774) 2022-09-14 06:52:51 -07:00
Jeff Washington (jwash) 416b45ac0f
calculate_capitalization gets 'enable_rehashing' (#27767) 2022-09-14 06:52:18 -07:00
Jeff Washington (jwash) cd44a0ab7b
acctidx: unref returns whether refcount went negative (#27773) 2022-09-14 06:51:50 -07:00
Jeff Washington (jwash) 17007fdda8
remove ancient append vec stores from shrink_candidate_slots (#27763) 2022-09-14 06:50:34 -07:00
Will Hickey c0e4379f43
Whickey/version v1.15 (#27739)
* Bump version to v1.13.0
* Bump version to v1.14.0
* Bump version to v1.15.0
2022-09-13 09:06:15 -05:00
apfitzge 0c185d1983
Fix a constant that was missed (#27731)
Missed constant
2022-09-12 16:23:55 -05:00
Michael Vines 0bcd9134bc Rework 'remove_dead_slots_metadata: slots' info log message 2022-09-12 13:36:05 -07:00
Jeff Washington (jwash) d242c0fc97
pass 'enable_rehashing' through all accounts hash functions (#27701) 2022-09-12 12:18:09 -07:00
Jeff Washington (jwash) ac74fc16b6
cleanup test constants (#27704) 2022-09-12 12:00:52 -07:00
Jeff Washington (jwash) 765c628546
use exit signal for acct idx bg threads (#27483) 2022-09-12 11:51:12 -07:00
behzad nouri 4f22ee8f9b uses varint encoding for vote-state lockout offsets
The commit removes CompactVoteStateUpdate and instead reduces serialized
size of VoteStateUpdate using varint encoding for vote-state lockout
offsets.
2022-09-12 16:31:20 +00:00
Christian Kamm 90b8a3a44d
Remove KeypairInsecureClone trait and add insecure_clone() instead (#27396)
See discussion in #26248
2022-09-12 14:59:41 +00:00
Brooks Prumo d36c5774a1
Use `.find()` instead of loop+filter+break for sending snapshot request (#27674) 2022-09-10 19:11:37 -04:00
Jeff Washington (jwash) bd6177d5f2
move fn only used by tests to tests (#27699) 2022-09-10 13:57:52 -07:00
Jeff Washington (jwash) 92a5d27cb8
remove unused 'unref' fn (#27698) 2022-09-10 13:57:31 -07:00
Jeff Washington (jwash) 1811d684b5
clean race condition with extra unref (#27682)
* clean race condition with extra unref

* clarify comment

* fix test

* cleanup test

* clippy
2022-09-10 13:57:17 -07:00
Jeff Washington (jwash) abd01553d5
tests: Keypair::new().pubkey() -> pubkey::new_rand (#27705) 2022-09-10 13:56:45 -07:00
Jeff Washington (jwash) 1d9d5bef04
remove outdated comment (#27703) 2022-09-10 13:56:08 -07:00
Tao Zhu ced8f6a512
Add feature gate to remove support for RequestUnitsDeprecated instruction (#27503)
* feature gate: remove support for RequestUnitsDeprecated instruction #27500

* review update: stop support deprecated ix for prioritization

* Apply suggestions from code review

Co-authored-by: Justin Starry <justin.m.starry@gmail.com>

Co-authored-by: Justin Starry <justin.m.starry@gmail.com>
2022-09-09 22:24:21 +00:00
Brooks Prumo 2b554560fd
Send snapshot request for correct bank in set_root() (#27673) 2022-09-09 17:30:37 -04:00
apfitzge 6561428278
Separate add_un_ref for easier tracing (#27652) 2022-09-09 16:14:55 -05:00
Brooks Prumo fc396f965c
Fixup log of Epoch Accounts Hash when freezing bank (#27688) 2022-09-09 16:33:12 -04:00
Jeff Washington (jwash) 1f00b468e5
add enable_rehashing to AccountsPackage (#27644) 2022-09-08 09:25:25 -07:00
Jeff Washington (jwash) 82d12c4dda
suppress large debug message on test (#27646) 2022-09-08 07:01:01 -07:00
dependabot[bot] f338aa62ba
chore: bump serde from 1.0.143 to 1.0.144 (#27511)
* chore: bump serde from 1.0.143 to 1.0.144

Bumps [serde](https://github.com/serde-rs/serde) from 1.0.143 to 1.0.144.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.143...v1.0.144)

---
updated-dependencies:
- dependency-name: serde
  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>
2022-09-07 16:54:44 -06:00
Brooks Prumo 6a322de845
Make Accounts Background Services aware of Epoch Accounts Hash (#27626) 2022-09-07 20:41:40 +00:00
Jeff Washington (jwash) d3ca364e9e
reuse shared function (#27642) 2022-09-07 13:11:00 -07:00
Jeff Washington (jwash) 22007a3c96
allow accounts hash calc to specify enable_rehashing (#27615) 2022-09-07 10:16:52 -07:00
Jeff Washington (jwash) a31d4a597d
serialize epoch_accounts_hash (#27516) 2022-09-07 10:07:00 -07:00
Brooks Prumo 1cf9077d06
Include the Epoch Accounts Hash in the Bank hash (#27541) 2022-09-07 10:10:49 -04:00
Brooks Prumo 93a4f80a2c
Handling snapshot requests is now required (#27537) 2022-09-07 10:08:42 -04:00
Jeff Washington (jwash) acd846b90e
when storing detailed debug info on accounts hash, we're ok with > 1 storage (#27617) 2022-09-07 06:38:57 -07:00
Jeff Washington (jwash) ecbd5bb807
acctidx: avoid extra addref in combine ancient slots (#27545)
* acctidx: avoid extra addref in combine ancient slots

* make code common
2022-09-06 13:57:34 -07:00
Brooks Prumo a2df1e95dc
Hold `PendingAccountsPackage` lock for both checking and submitting (#27613)
Hold package lock for both checking and submitting
2022-09-06 20:11:13 +00:00
Jeff Washington (jwash) 0d01494cf8
acctidx renames for clarity (#27606) 2022-09-06 12:29:45 -07:00
Jeff Washington (jwash) f1297850b8
acctidx: use slot list len to determine if upsert remains in cache (#27550) 2022-09-06 10:59:54 -07:00
Jeff Washington (jwash) 72a2c02ee7
add --accounts-db-verify-refcounts for debugging (#27504) 2022-09-06 09:39:39 -07:00
Jeff Washington (jwash) 7bdbb18741
acctidx: factor out update_slot_list_entry (#27546) 2022-09-06 07:39:31 -07:00
Jeff Washington (jwash) 7b579771b0
log on acct idx derefs below 0 (#27544) 2022-09-06 07:34:05 -07:00
Jeff Washington (jwash) ed132e75a9
rename get_account_maps_read_lock to get_bin since we don't use a loc… (#27543)
rename get_account_maps_read_lock to get_bin since we don't ues a lock anymore
2022-09-06 07:22:55 -07:00
Jeff Washington (jwash) f90e70ff5a
fix some comments (#27547)
remove stray comment
2022-09-06 07:21:19 -07:00
Alexander Meißner 12d2147efa
Adds `IndexOfAccount` type (#27599)
Adds the type `IndexOfAccount`.
2022-09-06 11:31:40 +02:00
Alexander Meißner 6f2e556b16
Cleanup: `TransactionContext` (#27595)
* Lets instruction_accounts_lamport_sum() have the &InstructionContext as parameter directly.

* Updates docu comments.

* Uses accessors methods instead of accessing private properties of other structs.

* Adds #![deny(clippy::indexing_slicing)].

* Has get_signers() return a Result instead of using unwrap().

* Removes InvokeContext::get_key_of_account_at_index().
2022-09-05 16:29:02 +02:00
Alexander Meißner 0b94d5af18
Refactor: `InstructionContext::configure()` (#27400)
* Replaces InstructionContext::new() by InstructionContext::configure().
Adds TransactionContext::get_next_instruction_context().

* Switch back to using references as parameters.

* Hoists InstructionContext::configure() from TransactionContext::push() into InvokeContext::push().

* Moves InstructionContext::config() to the beginning of InvokeContext::push().

* Hoists InstructionContext::configure() from InvokeContext::push() into InvokeContext::process_instruction().

* Review feedback: Updates docu comments.
2022-09-03 10:34:57 +02:00
Tao Zhu c0f41fe6d0
fix a flacky test (#27572) 2022-09-02 15:02:22 +00:00
Brooks Prumo 6684c62280
Add SnapshotUsage to SnapshotConfig (#27508) 2022-09-02 08:56:23 -04:00
Tyera Eulberg 9b8bed86f9
Add getRecentPrioritizationFees RPC endpoint (#27278)
* Plumb priority_fee_cache into rpc

* Add PrioritizationFeeCache api

* Add getRecentPrioritizationFees rpc endpoint

* Use MAX_TX_ACCOUNT_LOCKS to limit input keys

* Remove unused cache apis

* Map fee data by slot, and make rpc account inputs optional

* Add priority_fee_cache to rpc test framework, and add test

* Add endpoint to jsonrpc docs

* Update docs/src/developing/clients/jsonrpc-api.md

* Update docs/src/developing/clients/jsonrpc-api.md
2022-09-01 23:12:12 +00:00
Brooks Prumo a6d737d773
Add EpochAccountsHash to AccountsDb (#27538) 2022-09-01 12:11:07 -04:00
Jeff Washington (jwash) 3e40fad46b
deserialize(or eof) snapshot epoch_accounts_hash (#27513)
deserialize(or eof) snapshot prior_epoch_accounts_hash
2022-09-01 08:35:52 -07:00
Jeff Washington (jwash) 0df0b94a72
randomly shrink ancient append vecs (#27523) 2022-09-01 08:32:43 -07:00
Haoran Yi 28c3552756 remove counter stat for clean which is already captured in clean_accounts_stats 2022-09-01 10:11:08 -05:00
Haoran Yi a28f336eb3 add timing unit scale in field name 2022-09-01 10:11:08 -05:00
Haoran Yi 43e3545c26 add stats of dirty_slots for cleaning during hash calc 2022-09-01 10:11:08 -05:00
Haoran Yi 407717eb2a add timing stat for account hash calc with cache 2022-09-01 10:11:08 -05:00
Jeff Washington (jwash) 874085aadc
improve performance of unrefing ancient pubkeys (#27485) 2022-09-01 07:34:52 -07:00
apfitzge af971e63ab
Create all shared buffer readers before spawning threads (#27512)
* Create all shared buffer readers before spawning threads

* Allow 'needless' collect - clippy is wrong

* move clippy allow, spacing
2022-08-31 22:49:02 -05:00
Alexander Meißner 84b5a2bcf4
Refactor: `TransactionContext` ABIv2 adjustments (#27476)
* Marks methods and structs which are only to be used by the program runtime.

* Removes TransactionContext::get_keys_of_accounts().

* Adds InstructionContext::get_instruction_accounts_lamport_sum().
2022-08-31 17:47:47 +02:00
Jeff Washington (jwash) 8c1e193d5d
delay trying to flush cached upserts until far future (#26908) 2022-08-31 08:56:26 -05:00
Tao Zhu 8bb039d08d
collect min prioritization fees when replaying sanitized transactions (#26709)
* Collect blocks' minimum prioritization fees when replaying sanitized transactions

* Limits block min-fee metrics reporting to top 10 writable accounts

* Add service thread to asynchronously update and finalize prioritization fee cache

* Add bench test for prioritization_fee_cache

Co-authored-by: Tyera Eulberg <teulberg@gmail.com>
2022-08-31 08:00:55 -05:00
Jeff Washington (jwash) b5cca0bfa3
add tests to AccountsDb::unref_accounts (#27474) 2022-08-30 18:51:20 -05:00
Jeff Washington (jwash) 3d03f7b47e
remove unused acct idx::upsert_on_disk (#27479) 2022-08-30 15:42:46 -05:00
Jeff Washington (jwash) 2e4a52d010
remove storages that only contain empty (#27452) 2022-08-30 14:04:17 -05:00
Jeff Washington (jwash) 1154bc8636
get rid of acquisition of read lock while unrefing accounts in scan (#27388) 2022-08-30 14:04:02 -05:00
Jeff Washington (jwash) 9bde3261fd
cleanup (#27453)
* cleanup

* Update runtime/src/accounts_db.rs

Co-authored-by: Brooks Prumo <brooks@prumo.org>

Co-authored-by: Brooks Prumo <brooks@prumo.org>
2022-08-30 10:58:35 -05:00
Jeff Washington (jwash) e35cd7a34a
comment loop in function (#27454) 2022-08-30 10:58:02 -05:00
Jeff Washington (jwash) 3d692ba046
refactor clean_dead_slots_from_accounts_index (#27451) 2022-08-30 10:06:52 -05:00
Jeff Washington (jwash) 73ee94d674
remove old bank hashes with ancient shrink (#27450) 2022-08-30 09:31:20 -05:00
Jeff Washington (jwash) a4b8ab2f59
clean_dead_slots_from_accounts_index unrefs correctly (#27461) 2022-08-30 08:40:21 -05:00
Haoran Yi 8f3c1e3ebb report a datapoint 2022-08-29 19:06:30 -05:00