Commit Graph
100 Commits
Author SHA1 Message Date
Jeff Washington (jwash)andGitHub 2021255f91 executable() (#16880) 2021-04-28 08:53:54 -05:00
Jeff Washington (jwash)andGitHub 30e83a4a3c private AccountSharedData.rent_epoch (#16878) 2021-04-28 08:53:21 -05:00
Jeff Washington (jwash)andGitHub da3342759b private AccountSharedData.rent_epoch (#16877) 2021-04-28 08:52:20 -05:00
Jeff Washington (jwash)andGitHub 6381ee38eb reclaims unref accounts from index (#16838) 2021-04-28 08:50:38 -05:00
Jeff Washington (jwash)andGitHub 1864bc2080 write Option<AccountSharedData> (#16874)
* write Option<&AccountSharedData>

* add comment
2021-04-28 08:47:26 -05:00
Jeff Washington (jwash)andGitHub 1bd623cd15 private AccountSharedData.rent_epoch (#16844) 2021-04-27 13:51:13 -05:00
Jeff Washington (jwash)andGitHub 2f5102587c owner() lifetime issue (#16875) 2021-04-27 12:57:47 -05:00
Jeff Washington (jwash)andGitHub 8f56c116d7 tests: lamports += to checked_add (#16842) 2021-04-27 10:23:07 -05:00
Jeff Washington (jwash)andGitHub d533f77301 bank.withdraw uses checked_sub_lamports (#16848)
* bank.withdraw uses checked_sub_lamports

* retain previous codepath for error

* map_err from clippy
2021-04-27 09:58:41 -05:00
Jeff Washington (jwash)andGitHub 69bfbf9e98 AccountSharedData.set_executable (#16836) 2021-04-27 09:56:50 -05:00
Jeff Washington (jwash)andGitHub 3887169db0 lamports += to checked_add (#16841) 2021-04-27 09:56:18 -05:00
Jeff Washington (jwash)andGitHub 47ca7063f2 rootstracker.remove returns previous state (#16831) 2021-04-27 09:15:44 -05:00
Jeff Washington (jwash)andGitHub 3fdbaefaa6 tests: lamports -= to checked_sub (#16843) 2021-04-27 09:12:48 -05:00
Jeff Washington (jwash)andGitHub 998cba74b5 AccountSharedData.executable() (#16835) 2021-04-27 09:12:17 -05:00
Jeff Washington (jwash)andGitHub 4e7e675c07 lamports += -> checked_add_lamports (#16791) 2021-04-27 09:11:35 -05:00
Jeff Washington (jwash)andGitHub 81402ee7f5 pass &Pubkey through account storage, slot clean code to reduce copies (#16778)
* &Pubkey

* use trait to pass &Hash or Hash

* use impl Borrow<Hash> instead of trait

* remove old code line commented out
2021-04-27 09:10:06 -05:00
Jeff Washington (jwash)andGitHub 603872685d private AccountSharedData.owner (#16760)
* private AccountSharedData.owner

* fix perf test
2021-04-26 14:59:17 -05:00
Jeff Washington (jwash)andGitHub f2ab0384e4 owner -> owner() (#16783) 2021-04-26 17:06:40 +00:00
Jeff Washington (jwash)andGitHub aeff911c93 owner -> owner() (#16784) 2021-04-26 10:40:11 -05:00
Jeff Washington (jwash)andGitHub 6d160768d7 delete vest program (#16795) 2021-04-26 08:50:46 -05:00
Jeff Washington (jwash)andGitHub ca14c18998 owner -> owner() (#16782) 2021-04-23 22:49:47 +00:00
Jeff Washington (jwash)andGitHub 1a4a7059af owner -> owner() (#16785) 2021-04-23 15:59:13 -05:00
Jeff Washington (jwash)andGitHub 48c07d32f0 WritableAccount.add/subtract_lamports (#16750)
* add/sub lamports

* make add/sub return Result

* sample replacements

* cleanup

* fix up a few tests as examples

* move enum, cleanup, impl from

* fmt

* cleanup

* add lamports.rs
2021-04-23 20:20:48 +00:00
Jeff Washington (jwash)andGitHub dcf2d84b24 refactor complicated 'len' (#16777) 2021-04-23 18:36:49 +00:00
Jeff Washington (jwash)andGitHub 04e6aebf35 .owner = X -> .set_owner(X) (#16759) 2021-04-23 18:26:33 +00:00
Jeff Washington (jwash)andGitHub fb0b76c1f3 account.owner = X -> account.set_owner(X) (#16754) 2021-04-23 12:34:22 -05:00
Jeff Washington (jwash)andGitHub 7602911f9a read_only_cache remove updates cache size (#16742) 2021-04-23 12:00:17 -05:00
Jeff Washington (jwash)andGitHub 1cc9a1c0eb log roots range metric (#16636)
* log roots range metric

* rename
2021-04-23 16:09:39 +00:00
Jeff Washington (jwash)andGitHub 96d21335e1 .owner -> .owner() (#16758) 2021-04-23 09:35:55 -05:00
Jeff Washington (jwash)andGitHub 5591cd6ef3 .owner -> .owner() (#16757)
* .owner -> .get_owner()

* use
2021-04-23 09:35:09 -05:00
Jeff Washington (jwash)andGitHub 6c5b7ecf90 account.owner = X -> account.set_owner(X) (#16756) 2021-04-23 09:34:28 -05:00
Jeff Washington (jwash)andGitHub 87e2e07d34 AccountSharedData.copy_into_owner_from_slice (#16755) 2021-04-23 09:34:08 -05:00
Jeff Washington (jwash)andGitHub 91be2903da Reduce account index lookups during clean (#16689)
* reduce account index lookups in clean

* rename

* rename enum

* hold locks during removal from zero pubkey list

* merge with zero lamport fix

* tests
2021-04-23 09:33:14 -05:00
Jeff Washington (jwash)andGitHub fc12841d95 Readonlyaccounts (#16743)
* lamports -> lamports()

* format
2021-04-22 20:04:55 +00:00
Jeff Washington (jwash)andGitHub 739f0698ab clean read_only_cache in the bg (#16722)
* clean read_only_cache in the bg

* reset lru_index

* cleanup

* cleanup

* drop for read only cache

* join bg thread

* reuse existing lru vec

* simplify reserve logic
2021-04-22 13:59:58 -05:00
Jeff Washington (jwash)andGitHub 333998d008 .lamports = <number> -> .set_lamports(<number>) (#16746) 2021-04-22 18:56:47 +00:00
Jeff Washington (jwash)andGitHub 8a6b80095e Set lamports (#16747)
* lamports = -> set_lamports()

* .lamports = X -> .set_lamports(X)
2021-04-22 13:53:06 -05:00
Jeff Washington (jwash)andGitHub 8d9d6b62d9 use cheaper account get (#16682) 2021-04-22 12:54:08 -05:00
Jeff Washington (jwash)andGitHub 123e0bdba7 don't iterate slot_list if zero-lamport (#16678) 2021-04-21 20:38:48 -05:00
Jeff Washington (jwash)andGitHub 69cbad0869 some ReadableAccount changes (#16688)
* some ReadableAccount changes

* deref
2021-04-21 12:20:37 -05:00
Jeff Washington (jwash)andGitHub 189d2121e6 simplify do_shrink_slot_stores, delay/reduce account clone (#16691) 2021-04-21 11:17:38 -05:00
Jeff Washington (jwash)andGitHub 9852572eb9 increase rolling slot width to 4M (#16583) 2021-04-20 21:18:15 -05:00
Jeff Washington (jwash)andGitHub 03f7b251b8 ReadableAccount.data returns slice (#16686)
* ReadAbleAccount.data returns slice

* more slice fixup

* more slice

* slice
2021-04-20 16:41:16 -05:00
Jeff Washington (jwash)andGitHub 36e11998c7 read only accounts cache uses accurate size representation (#16610)
* read ony accounts cache uses accurate size representation

* add comment and test
2021-04-20 09:58:01 -05:00
Jeff Washington (jwash)andGitHub 4aa753ff01 rename threads: 15 char limit (#16625) 2021-04-19 12:16:58 -05:00
Jeff Washington (jwash)andGitHub 015bc034a5 improve failing assert (#16581) 2021-04-19 08:55:01 -05:00
Jeff Washington (jwash)andGitHub 105a6bfb46 Replace RootsTracker HashSet (#16310)
* Replace RootsTracker HashSet

* use bitvec

* cleanup, add brenchmark test

* test cleanup

* add lots of tests

* get rid of demo

* change warp test constant

* get rid of unused function

* pr feedback

* reorder use

* rework get_all to remove range checks

* add tests, fix bugs
2021-04-12 12:11:33 -05:00
Jeff Washington (jwash)andGitHub 7ba3e710d3 latest_slot uses > current_max (#16374) 2021-04-12 10:52:24 -05:00
Jeff Washington (jwash)andGitHub 6930a77a0f prepare replace Ancestors HashMap for performance (#16476) 2021-04-12 10:51:57 -05:00
Jeff Washington (jwash)andGitHub 95dc7b5449 reduce lock contention on latest_root (#16306) 2021-04-05 11:35:14 -05:00
Jeff Washington (jwash)andGitHub 7a997759fa reduce locking on get_rooted_entries (#16304) 2021-04-05 11:26:53 -05:00
Jeff Washington (jwash)andGitHub 3996b699dc read only account cache for executable accounts - improve replay (#16150)
* read only account cache

* tests

* clippy

* cleanup

* new file, add tests

* remove copy/paste code from test

* remove dead code

* all loads use cache

* remove stale comments

* add metrics logging for read only cache size

* report read only cache hits and misses

* consistency

* formatting

* rename, add comment

* u64

* better interaction with existing cache

* lru list saved between cleans
2021-04-01 07:16:34 -05:00
Jeff Washington (jwash)andGitHub 416312b30b update timings only on outer call (#16275)
* update timings only on outer call

* test & format
2021-03-31 18:02:59 -05:00
f374b35944 Hash stored accounts in bg (#16157)
* lazy calculate account hash

* push to bg thread

* remove deadlock

* logs

* format

* some cleanup on aisle 9

* format, fix up some metrics

* fix test, remove legacy function only there for tests

* cleanup

* remove unused store_hasher

* Switch to crossbeam

* clippy

* format

* use iter()

* rework from feedback

* hash_slot -> slot

* hash(cluster_type)

Co-authored-by: Carl Lin <carl@solana.com>
2021-03-31 15:39:34 -05:00
Jeff Washington (jwash)andGitHub a5dcee254d get rid of unnecessary data copy (#16214)
* get rid of unnecessary data copy

* preserve rent_epoch
2021-03-31 09:11:39 -05:00
Jeff Washington (jwash)andGitHub 414c7070cb poll checking for new record in poh service after every batch of hashes instead of busy waiting (#16167)
* poll waiting in poh service after every batch of hashes

* clippy
2021-03-30 10:34:21 -05:00
Jeff Washington (jwash)andGitHub f4f2e781ff get rid of data copy (#16210)
* get rid of data copy

* format
2021-03-30 10:33:46 -05:00
Jeff Washington (jwash)andGitHub 5eff23db0c TransactionRecorder uses unique channel so we can use Recv instead of RecvTimeout (#16195)
* time

* new channel each call

* new channel every time
2021-03-30 00:51:35 -05:00
Jeff Washington (jwash)andGitHub 4f4cffbd03 Throttle PoH ticks by cumulative slot time (#16139)
* Throttle PoH ticks by cumulative slot time

* respond to pr feedback

* saturating sub

* updated comment
2021-03-26 18:54:16 +00:00
Jeff Washington (jwash)andGitHub 06ac0fe9a3 increase timeout in TransactionRecorder.record (#16133) 2021-03-25 21:31:07 -05:00
Jeff Washington (jwash)andGitHub 66c42f62d8 make AccountSharedData.data private to abstract storage (#16091)
* format

* 2 more tests

* use
2021-03-25 11:04:20 -05:00
Jeff Washington (jwash)andGitHub db3eecf1e9 set target hash/sec to half of capability for auto (#16096) 2021-03-24 14:48:38 -05:00
Jeff Washington (jwash)andGitHub f68860a643 poh record metrics (#16092) 2021-03-24 14:48:32 -05:00
Jeff Washington (jwash)andGitHub 2d24d13046 AccountsSharedData: data copy on write (#15800)
* Arc<AccountData>

* try custom serializer

* adapt test from Behzad's change

* clippy

* simplify serialization

* remove abi example derive

* refactor 'take'

* remove serialization

* remove serialize calls

* remove account_data

* remove intos

* remove left over file
2021-03-23 15:19:31 -05:00
Jeff Washington (jwash)andGitHub 6f5d8d18e9 remove new alloc on deserialization (#15636) 2021-03-23 14:52:59 -05:00
Jeff Washington (jwash)andGitHub 57ba86c821 eliminate lock on record (#15929)
* eliminate lock on record

* use same error as MaxHeightReached

* clippy

* review feedback

* refactor should_tick code

* pr feedback
2021-03-23 09:10:04 -05:00
Jeff Washington (jwash)andGitHub fde43a906d revert test to use Account for serialization (#16063) 2021-03-22 22:48:09 +00:00
Jeff Washington (jwash)andGitHub 2fc609a294 add metric for ticks from poh_recorder.record (#16047) 2021-03-22 15:35:06 -05:00
Jeff Washington (jwash)andGitHub 64429104b1 account data.fill replacement (#16037) 2021-03-19 15:13:20 -05:00
Jeff Washington (jwash)andGitHub ddc758439e metrics for poh_recorder.record (#15998) 2021-03-19 09:48:55 -05:00
Jeff Washington (jwash)andGitHub 9760fded2d remove old code (#15988) 2021-03-18 17:51:49 +00:00
Jeff Washington (jwash)andGitHub 4beb39f7a1 multi-pass bin scanning (#15377)
* multi-pass bin scanning

* pr feedback

* format

* fix typo

* adjust metrics for code changes

* merge errors
2021-03-18 10:32:07 -05:00
Jeff Washington (jwash)andGitHub d30c9ef351 refactor test truncate data (#15851)
* refactor test truncate data

* retain existing behavior
2021-03-17 15:09:26 -05:00
Jeff Washington (jwash)andGitHub 40997d0aef add metrics for tick producer and poh_recorder (#15931) 2021-03-17 10:38:26 -05:00
Jeff Washington (jwash)andGitHub 5460fb10a2 drop poh lock after record (#15930) 2021-03-17 10:37:20 -05:00
Jeff Washington (jwash)andGitHub 806bfdd67b set_data_from_slice (#15854)
* data_ensure_equal_to_slice

* rename and change to copy
2021-03-16 16:56:26 -05:00
Jeff Washington (jwash)andGitHub efee8b62d7 a few missed set_data calls (#15846)
* a few missed set_data calls

* another set data call
2021-03-15 21:57:23 -05:00
Jeff Washington (jwash)andGitHub e50f284658 use Account for test since it borrows mut ref to data (#15852) 2021-03-15 21:56:48 -05:00
Jeff Washington (jwash)andGitHub e35d738906 rework BankClient.get_account_data (#15853) 2021-03-15 19:27:53 -05:00
Jeff Washington (jwash)andGitHub c09ea2c314 More AccountSharedData construction (#15844)
* one more AccountSharedData construction

* one more construct
2021-03-15 19:27:17 -05:00
Jeff Washington (jwash)andGitHub 952c3bcbb7 AccountSharedData construction (#15790) 2021-03-11 18:09:04 -06:00
Jeff Washington (jwash)andGitHub 3419a5446e AccountSharedData.set_data (#15781)
* account.set_data and resize_data

* remove data_resize
2021-03-11 16:40:45 -06:00
Jeff Washington (jwash)andGitHub 1135ffd595 mut data refs as slice (#15782) 2021-03-10 15:28:03 -06:00
Jeff Washington (jwash)andGitHub 52e54e1100 account.data -> data() (#15778) 2021-03-09 22:31:33 +00:00
Jeff Washington (jwash)andGitHub 8a3135d17b Account->AccountSharedData (#15691) 2021-03-09 15:06:07 -06:00
Jeff Washington (jwash)andGitHub 13b9bb6790 refactor function to store into account after data is finished (#15710) 2021-03-05 11:02:35 -06:00
Jeff Washington (jwash)andGitHub 9448540ea6 log timing after ledger process (#15716) 2021-03-05 11:01:52 -06:00
Jeff Washington (jwash)andGitHub 34bebb7d09 report execution details in replay time (#15693) 2021-03-04 11:38:12 -06:00
Jeff Washington (jwash)andGitHub 22d2bb9a9c invert default behavior of index hashing (#15689) 2021-03-03 18:12:18 -06:00
Jeff Washington (jwash)andGitHub be35c1c1b7 add execute detail timings (#15638) 2021-03-03 17:07:45 -06:00
Jeff Washington (jwash)andGitHub a2c47db920 extract expected cluster type (#15615)
* extract expected cluster type

* fix clippy warning

* more clippy
2021-03-02 13:55:34 -06:00
Jeff Washington (jwash)andGitHub da47ab7e50 fix indentation format problem (#15618)
* fix indentation format problem

* fix indentation format problem
2021-03-02 10:46:00 -06:00
Jeff Washington (jwash)andGitHub e3006e3b46 correctly reserve space for pre_accounts vector (#15378) 2021-02-18 09:37:24 -06:00
Jeff Washington (jwash)andGitHub 7fee0bc69c move hashing functionality to accounts_hash (#15353) 2021-02-17 00:29:50 +00:00
Jeff Washington (jwash)andGitHub 8367740ff9 compute merkle root on chunks of fanout^3 (#15344)
* compute merkle root on chunks of fanout^3

* improve test_accountsdb_compute_merkle_root_large
2021-02-16 17:03:35 -06:00
Jeff Washington (jwash)andGitHub ba02452d75 add validator flag no-accounts-db-index-hashing (#15350)
* add validator flag no_accounts_db_index_hashing

* add validator flag no_accounts_db_index_hashing
2021-02-16 21:13:48 +00:00
Jeff Washington (jwash)andGitHub d83aeebcca change 2d cumulative calculation (#15346) 2021-02-16 14:24:45 -06:00
Jeff Washington (jwash)andGitHub 708b8380b7 assert 2 items in stores don't have same slot and version with different values (#15250)
* assert 2 items in stores don't have same slot and version with different values

* add message to assert
2021-02-16 18:12:59 +00:00
Jeff Washington (jwash)andGitHub 53959b4bbc divide account scan into bins for more efficient downstream processing (#15303) 2021-02-15 21:27:39 -06:00
Jeff Washington (jwash)andGitHub 78a176fc00 rename CumulativeOffset in preparation of 2d support (#15338) 2021-02-15 20:57:05 -06:00