Commit Graph

2578 Commits

Author SHA1 Message Date
efedb55705 bank: factor tx log getter out to method on TransactionLogCollector 2021-11-25 04:50:51 +00:00
9edfc5936d Refactor accounts.rs with Justin's comments to improve lock accounts (#21406)
with results code path.
- fix a bug that could unlock accounts that weren't locked
- add test to the refactored function
- skip enumerating transaction accounts if qos results is an error
- add #[must_use] annotation
- avoid clone error in results
- add qos error code to unlock_accounts match statement
- remove unnecessary AbiExample
2021-11-23 21:17:55 +00:00
22a2537aac Refactor: Cleanup program-runtime dyn Traits (#21395)
* Unifies dyn Trait ComputeMeter, ThisComputeMeter and TransactionComputeMeter.

* Unifies dyn Trait Logger and ThisLogger.

* Moves Logger to log_collector.rs

* Unifies Logger and LogCollector.

* Removes inner RefCell from LogCollector.

* Adds the log::debug!() message to ic_logger_msg!() again.
2021-11-23 13:23:40 +01:00
b87ebf9e58 AcctIdx: PreAllocatedAccountMapEntry does not make unnecessary Arc (#21364) 2021-11-22 15:52:45 -06:00
a762066310 AcctIdx: don't log disk stats when disk isn't enabled (#21371) 2021-11-22 15:26:25 -06:00
c4d68063c7 Add timing for accounts add_root (#21379) 2021-11-22 18:29:45 +01:00
cd6f931223 Add timing metrics to bank creation and rewards calculation (#21066) 2021-11-21 15:11:02 +01:00
02bc4e3fc1 spl-token: New program feature flag (#21354)
* spl-token: Add feature flag for new release

* Remove all spl token version declarations
2021-11-21 14:27:03 +01:00
ebea3297f9 AcctIdx: generate index inserts/updates directly to disk (#21363)
* when initially creating account index, write directly to disk

* AcctIdx: generate index inserts/updates directly to disk
2021-11-19 17:17:07 -06:00
0bb059185c Add lamports_in_rent_paying_accounts to TotalAccountsStats (#21368) 2021-11-19 17:02:23 -06:00
8a50b6302f Fix #21346 (#21362)
Fixes the empty transaction bug in ThisInvokeContext::push() and adds a test for it to the bank.
2021-11-19 20:43:42 +01:00
79d21d6805 add --accounts-index-scan-results-limit-mb to allow scans to abort (#21327)
* ScanConfig -> &ScanConfig

* add --accounts-index-scan-results-limit-mb to allow scans to abort

* feedback
2021-11-19 09:00:19 -06:00
c24e30f689 Constrain memory ordering on AccountsDb::next_id (#21311) 2021-11-18 20:34:37 -06:00
f7152c889c Constrain memory ordering on AppendVec::id (#21310) 2021-11-18 20:34:20 -06:00
5788973153 Constrain memory ordering on AccountStorageEntry::alive_bytes (#21309) 2021-11-18 20:34:08 -06:00
03c36d240a Nonce naming cleanup (#21336) 2021-11-18 16:07:17 -08:00
b30c94ce55 ClusterInfoVoteListener send only missing votes to BankingStage (#20873) 2021-11-18 15:20:41 -08:00
a272e19f8d AcctIdx: report on partial progress during flushing (#21306) 2021-11-18 11:01:19 -06:00
89c45a57f8 Refactor slot status notification to decouple from accounts notifications (#21308)
Problem

Slot status can be used of in other scenarios in addition to account information such as transactions, blocks. The current implementation is too tightly coupled.

Summary of Changes

Decouple the slot status notification from accounts notification. Created a new slot status notification module.
2021-11-17 17:11:38 -08:00
9cb74e8421 remove store_cached stall (#21326) 2021-11-17 18:30:40 -06:00
83de2f7376 fix initial massive metrics spike (#21304) 2021-11-17 17:16:48 -06:00
0f69a14247 Add ability to abort scan (#21314) 2021-11-17 13:10:29 -06:00
e540b1cf3c Refactor: Move sdk::process_instruction in program-runtime-crate (#21180)
* Moves the Executor dyn Trait to instruction_processor.rs

* Moves the Logger dyn Trait as well as the ic_msg and ic_logger_msg macros to log_collector.rs,
and moves the stable_log to stable_log.rs

* Moves the ComputeMeter dyn Trait to invoke_context.rs

* Moves the InvokeContext dyn Trait and the ProcessInstructionWithContext type to invoke_context.rs

* Updates cargo files.

* Re-export InvokeContext in program-test

Co-authored-by: Jon Cinque <jon.cinque@gmail.com>
2021-11-17 19:35:07 +01:00
c3e5927d16 Constrain memory ordering on AccountsDb::write_version (#21312) 2021-11-17 07:11:16 -06:00
cb0bb5bd1e Nonce accounts must be writeable (#21260)
* Nonce accounts must be writeable

* feedback

* feedback
2021-11-16 23:01:00 +00:00
ae497715cc HashCalc: Perf: use refs for hashes (#21280) 2021-11-16 10:30:55 -06:00
398af132a5 More set_root metrics (#21286) 2021-11-15 16:28:18 -07:00
9b1bf98aa2 Accept only decimal digits in file names inside snapshot (#21213)
This also should make snapshot validation a bit faster.
2021-11-15 17:02:15 +00:00
39340ed25b throttle store_cached when cache size is too large (#21188)
* throttle store_cached when cache size is too large

* reduce max delay

* 100ms max

* 10ms max delay
2021-11-13 14:00:37 -06:00
f8dcb2f38b report mem stats (#21258) 2021-11-13 00:59:41 +00:00
778b5d736c Load nonce with fixed root (#21248) 2021-11-12 14:12:34 -08:00
1509513339 hash calc: filler_accounts_enabled (#21243) 2021-11-12 09:53:21 -06:00
11153e1f87 refactor cost calculation (#21062)
* - cache calculated transaction cost to allow sharing;
- atomic cost tracking op;
- only lock accounts for transactions eligible for current block;
- moved qos service and stats reporting to its own model;
- add cost_weight default to neutral (as 1), vote has zero weight;

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

* Update core/src/qos_service.rs

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

* Update core/src/qos_service.rs

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

Co-authored-by: Tyera Eulberg <teulberg@gmail.com>
2021-11-12 01:04:53 -06:00
ef29d2d172 Refactor vote state to remove double negative (#21244) 2021-11-12 00:26:43 +00:00
131c0d78c4 Fix compute budget bump (#21238) 2021-11-11 14:09:28 -08:00
c0f9e351db hashcalc eliminate zeros optimizations (#21209) 2021-11-11 09:44:32 +00:00
8b2133b078 Refactor total stats calculation into shared fn (#21212) 2021-11-09 19:13:37 -06:00
48265ada39 chore: bump blake3 from 1.1.0 to 1.2.0 (#21203)
* chore: bump blake3 from 1.1.0 to 1.2.0

Bumps [blake3](https://github.com/BLAKE3-team/BLAKE3) from 1.1.0 to 1.2.0.
- [Release notes](https://github.com/BLAKE3-team/BLAKE3/releases)
- [Commits](https://github.com/BLAKE3-team/BLAKE3/compare/1.1.0...1.2.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

* Make versions consistent

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <dependabot-buildkite@noreply.solana.com>
Co-authored-by: Tyera Eulberg <tyera@solana.com>
2021-11-08 15:27:37 -07:00
5827cf4c51 hash calc eliminate zero refactor get_item (#21036) 2021-11-08 20:27:48 +00:00
706b60b5c8 Add set_root bank drop logging (#21144) 2021-11-06 01:05:36 +00:00
1b46d1d54d hashcalc eliminate zeros cleanup (#21175) 2021-11-05 10:54:49 -05:00
c78f474373 Add validator option to change niceness of snapshot packager thread 2021-11-04 17:16:46 -06:00
7200c5106e Replaces MockInvokeContext by ThisInvokeContext in tests (#20881)
* Replaces MockInvokeContext by ThisInvokeContext in BpfLoader, SystemInstructionProcessor, CLIs, ConfigProcessor, StakeProcessor and VoteProcessor.

* Finally, removes MockInvokeContext, MockComputeMeter and MockLogger.

* Adjusts assert_instruction_count test.

* Moves ThisInvokeContext to the program-runtime crate.
2021-11-04 21:47:32 +01:00
0597594943 Fix rent debits test (#21177) 2021-11-04 20:03:19 +00:00
4e527b84b0 Remove unused upgrade epoch handling (#21164) 2021-11-04 10:44:36 -07:00
171243a370 add rent exempt count to get_total_accounts_stats (#21153) 2021-11-04 11:17:19 -05:00
e765542cd8 eliminate pubkey copy in eliminate_zeros (#21032)
* rework eliminate zero loop

* eliminate pubkey copy in eliminate_zeros
2021-11-04 11:16:36 -05:00
76e533be46 LoadedAccountAccessor::Cached does not store Pubkey (#21030) 2021-11-04 10:28:04 -05:00
aaccba8377 Refactor RentDebits to use hashmap instead of vec 2021-11-04 15:02:24 +00:00
b1e3a82c11 refactor rent collector and logs (#21155) 2021-11-04 06:28:41 -05:00