Commit Graph

171 Commits

Author SHA1 Message Date
Jeff Washington (jwash)
b992c02708 in_mem_accounts_index filters by range (#19779) 2021-09-12 21:57:15 -05:00
Jeff Washington (jwash)
0263ffb2ed move upsert and a handful of helpers to InMemAccountsIndex (#19799) 2021-09-12 21:54:09 -05:00
Jeff Washington (jwash)
3617d43e76 accounts index stats (#19797) 2021-09-12 22:14:59 +00:00
Jeff Washington (jwash)
d9674f7ff0 consolidate another use of remove_if_slot_list_empty (#19804) 2021-09-12 19:05:44 +00:00
Jeff Washington (jwash)
c9a3b8941f move insert_new_entry_if_missing_with_lock into InMemAccountsIndex (#19800) 2021-09-12 13:39:29 -05:00
Jeff Washington (jwash)
a295febf04 move remove_if_slot_list_empty to InMemAccountsIndex (#19801) 2021-09-12 10:26:04 -05:00
Jeff Washington (jwash)
91c3b18e1e InMemAccountsIndex iter returns vec<owned> (#19778) 2021-09-11 20:33:04 +00:00
Jeff Washington (jwash)
7de2236284 accounts index get returns value (#19777) 2021-09-11 13:28:56 -05:00
Jeff Washington (jwash)
ed7a6c6732 push use of AccountMapEntry one level deeper (#19775) 2021-09-11 02:09:51 +00:00
Jeff Washington (jwash)
cba834808a refactor generate_index zero lamports (#19769) 2021-09-10 23:46:08 +00:00
Jeff Washington (jwash)
595bba95b4 accounts index traits (#19768) 2021-09-10 18:32:10 -05:00
Jeff Washington (jwash)
9899cd359a accounts index iterator uses copy of pubkey and account map entry (#19767) 2021-09-10 17:52:49 -05:00
Jeff Washington (jwash)
11b10439b4 factor out InMemAccountsIndex to prepare for disk index (#19773) 2021-09-10 17:52:25 -05:00
Jeff Washington (jwash)
d3f938f0cf Remove Copy from AccountsIndexConfig. Not all types will support it (#19686) 2021-09-07 20:09:40 -05:00
Jeff Washington (jwash)
e6055010eb accounts index iterator takes &Range (#19618) 2021-09-03 18:00:49 -05:00
Jeff Washington (jwash)
df040c05da get rid of unneeded mut and refactor addref (#19594) 2021-09-03 10:45:37 -05:00
Jeff Washington (jwash)
57f51352f6 refactor AccountEntry addref/unref (#19583) 2021-09-02 23:25:27 +00:00
Jeff Washington (jwash)
682daf1117 cleanup of allocate_accounts_index (#19585) 2021-09-02 22:58:07 +00:00
Jeff Washington (jwash)
78585a992b add IsCached trait bounds to AccountsIndex (#19584) 2021-09-02 22:45:35 +00:00
Jeff Washington (jwash)
2874f6b0a2 create remove_if_slot_list_empty to define accounts index behavior (#19581) 2021-09-02 16:54:37 -05:00
Jeff Washington (jwash)
0571962776 accounts index test uses # test bins (#19580) 2021-09-02 16:32:42 -05:00
Jeff Washington (jwash)
7eb793a55e add debugging to test (#19563)
* add debugging to test

* update cargo
2021-09-02 02:52:16 +00:00
Jeff Washington (jwash)
82a6bbe068 add Debug trait to range for accounts index (#19531) 2021-09-01 08:13:56 -05:00
Jeff Washington (jwash)
12dc8749cf add Copy trait to AccountInfo for fast copies to mmapped file (#19524) 2021-09-01 08:13:08 -05:00
Jeff Washington (jwash)
2df96cd81e remove type specifics to make funciton more flexible (#19536) 2021-08-31 20:03:42 -05:00
Jeff Washington (jwash)
a655b01700 some basic accounts index refactoring (#19510) 2021-08-30 18:40:10 -05:00
Jeff Washington (jwash)
02b050e0f5 replace AccountsIndex btree with hashmap of 8k bins (#19212) 2021-08-26 18:12:43 -05:00
Jeff Washington (jwash)
7c70f2158b accounts_index_bins to AccountsIndexConfig (#19257)
* accounts_index_bins to AccountsIndexConfig

* rename param bins -> config

* rename BINS_FOR* to ACCOUNTS_INDEX_CONFIG_FOR*
2021-08-17 14:50:01 -05:00
Jeff Washington (jwash)
651343688d Use option for account index bucket parameter (#19150) 2021-08-10 11:32:25 -05:00
Jeff Washington (jwash)
47e0d9aa95 plumb more accounts_index bins (#19123) 2021-08-10 05:45:46 -05:00
Jeff Washington (jwash)
db14bcc43b AccountsIndex RefCount() returns u64 instead of atomic (#19088) 2021-08-09 08:59:56 -05:00
Jeff Washington (jwash)
9616ae0f2c signal to upsert whether reclaims are important (#18900)
* signal to upsert whether reclaims are important

* reclaims_must_be_empty -> previous_slot_entry_was_cached

* UPSERT_RECLAIMS_MUST_BE_EMPTY_FALSE -> UPSERT_PREVIOUS_SLOT_ENTRY_WAS_CACHED_FALSE
2021-08-09 08:58:59 -05:00
Jeff Washington (jwash)
8878f526ce rework AccountsIndex traits (#19089) 2021-08-06 08:39:34 -05:00
Jeff Washington (jwash)
24207a09ac remove AccountsIndex::default (#19082)
* accounts_db calls AccountsDb::new(bins)

* remove AccountsIndex::default
2021-08-05 11:38:53 -05:00
Jeff Washington (jwash)
5cf28689e6 accounts_db calls AccountsDb::new(bins) (#19068) 2021-08-05 11:15:26 -05:00
Jeff Washington (jwash)
67788ad206 move AccountsIndex upsert into static WriteAccountMapEntry (#18899)
* rework accounts index to push upsert deeper

* clean up return value of upsert_existing_key

* upsert_existing_key -> update_key_if_exists

* upsert_new_key -> upsert

* upsert_item -> lock_and_update_slot_list

* update_static -> update_slot_list
2021-08-05 08:45:08 -05:00
Jeff Washington (jwash)
087db70df6 add traits required by IsCached (#19066) 2021-08-05 08:43:00 -05:00
Jeff Washington (jwash)
dfe99efa7c introduce AccountsIndex::default_for_tests() (#19067) 2021-08-04 21:58:53 -05:00
sakridge
5a4979f25f Handle 0-lamport account in index generation (#19041)
* Handle 0-lamport account in index generation

* rename duplicate to dirty keys

Co-authored-by: Carl Lin <carl@solana.com>
2021-08-04 23:33:47 +00:00
Jeff Washington (jwash)
0b8d14b0fc move towards account index being dynamically allocated (#19034) 2021-08-04 15:28:35 -05:00
Jeff Washington (jwash)
31a620c42b move towards accounts index being dynamic (#19032) 2021-08-04 09:18:05 -05:00
Jeff Washington (jwash)
6dadc75a6f during range, stop scanning earlier than currently scanning (#18896)
* during range, stop scanning earlier than currently scanning

* refactor for better testing

* clean up a different edge case
2021-07-27 13:40:45 -05:00
Jeff Washington (jwash)
53d8cad206 remove unused return value from account index upsert (#18895) 2021-07-27 08:46:27 -05:00
Jeff Washington (jwash)
181f21529d add Debug trait to T in AccountsIndex (#18702) 2021-07-16 17:05:23 -05:00
Jeff Washington (jwash)
958d27bb0e accounts index scan starts looking in bin where bound would exist (#18613) 2021-07-15 10:26:50 -05:00
Jeff Washington (jwash)
da9fdd785c measure and speed up 2nd half of generate_index (#18503)
* add metrics and speedup storage calcs in generate_index

* add tests, refactor

* rename map variable

* rename another index variable
2021-07-15 10:26:00 -05:00
Jeff Washington (jwash)
bb41cf3461 remove unnecessary generic args to make refactoring easier (#18619) 2021-07-13 12:05:23 -05:00
Jeff Washington (jwash)
0bd8710d34 prevent excess allocation with AccountsIndexIterator (#18605) 2021-07-13 11:11:17 -05:00
Jeff Washington (jwash)
f5ff4b2058 serial insertion of bins into accounts index (#18469) 2021-07-12 12:00:45 -05:00
Jeff Washington (jwash)
f04340b125 move allocation out of critical section and estimate capacity better (#18450) 2021-07-07 15:36:40 -05:00