Commit Graph

139 Commits

Author SHA1 Message Date
behzad nouri ba785cf8ab
removes erroneous uses of std::mem::swap (#26536)
All instances should be replace by std::mem::{replace,take},
or just plain assignment.
2022-07-11 11:33:15 +00:00
Jeff Washington (jwash) b582e4ce0f
introduce UpsertReclaim (#26462) 2022-07-07 15:40:17 -05:00
Brooks Prumo 5b842669e7
Remove InMemAccountsIndex::map() and use map_internal directly (#26189) 2022-06-23 15:55:35 -05:00
Boqin Qin(秦 伯钦) 355e09e1fb
runtime: fix possible deadlock in in_mem_accounts_index (#26046) 2022-06-23 11:35:47 -05:00
Jeff Washington (jwash) 8e2bae7bf9
batch insert updates stat count correctly (#26107) 2022-06-22 08:45:42 -05:00
Jeff Washington (jwash) 43e0d29b18
Revert "fix double count of account index del stats (#25797)" (#26103)
This reverts commit 05cb25d8da.
2022-06-21 14:05:26 -05:00
Jeff Washington (jwash) 7a3dc3a57b
remove unused param (#26096) 2022-06-21 13:10:41 -05:00
Boqin Qin(秦 伯钦) 95ea506d75
runtime: fix double-readlock in in_mem_accounts_index.rs (#26047) 2022-06-20 15:44:19 +01:00
Jeff Washington (jwash) b02c412d5b
generate_index straight to disk and batched (#25947)
* generate_index straight to disk and batched

* renames and comments

* handle in-mem case correctly

* use mutex
2022-06-15 18:14:39 -05:00
Jeff Washington (jwash) ae37359b6b
AcctIdx: only advance age on thread 0 (#25943) 2022-06-14 21:43:42 -05:00
Jeff Washington (jwash) 8c6455022f
remove dead code marker (#25945) 2022-06-14 10:47:26 -05:00
Jeff Washington (jwash) 01f41b8c76
get rid of dead code marker (#25944) 2022-06-14 08:44:40 -05:00
Brooks Prumo a2c180dc0b
Add EvictionsGuard to InMemAccountsIndex (#25847) 2022-06-12 17:31:58 -05:00
Brooks Prumo 53695ecd21
Remove SlotT type alias (#25908) 2022-06-10 22:04:56 -05:00
HaoranYi 28142f8a6d
Refactor: separate delete and insert account index stats (#25800)
* fix double count of account index del stats

* refactor to seperate delete and insert account index stats

* fix test

* increase test timing tolerance for bucket age

* Revert "increase test timing tolerance for bucket age"

This reverts commit 2b91cf902208e4585d25dff1d4298d412c9da516.
2022-06-08 09:05:37 -05:00
HaoranYi 05cb25d8da
fix double count of account index del stats (#25797) 2022-06-07 11:50:57 -05:00
Jeff Washington (jwash) e8df90c34b
rename count_buckets_flushed (#25733) 2022-06-02 12:16:01 -05:00
Jeff Washington (jwash) ddd0ed0af1
fix ordering in disk idx (#25735) 2022-06-02 11:50:44 -05:00
Jeff Washington (jwash) 1bc49d219d
IndexLimitMb option adds 'Unspecified' state (#24249) 2022-04-12 09:38:09 -05:00
Jeff Washington (jwash) f7b2951c79
move around some index metrics to reduce locks (#24161) 2022-04-07 09:43:19 -05:00
Jeff Washington (jwash) 1089a38aaf
AcctIdx: rework scan and write to disk (#23794) 2022-03-22 11:54:12 -05:00
Jeff Washington (jwash) 89ba3ff139
log fail to evict (#23815) 2022-03-22 09:19:38 -05:00
Jeff Washington (jwash) 24f6855f86
AcctIdx: only remove a fixed number of items per write lock (#23795) 2022-03-21 16:55:04 -05:00
Jeff Washington (jwash) 965ab9186d
AcctIdx: fix infinite loop (#23806) 2022-03-21 10:58:36 -05:00
Jeff Washington (jwash) 258db77100
AcctIdx: factor 'scan' out of flush_internal (#23777) 2022-03-20 22:00:38 -05:00
Jeff Washington (jwash) df29276eb0
AcctIdx: remove -> evict (#23775) 2022-03-18 17:13:21 -05:00
Jeff Washington (jwash) 998e7d18f9
AcctIdx: never retry a bucket flush (#23732) 2022-03-18 12:20:42 -05:00
Jeff Washington (jwash) 857576d76f
AcctIdx: move write to disk outside in mem write lock (#23731) 2022-03-17 23:09:41 -05:00
Jeff Washington (jwash) 664deb2157
AcctIdx: get rid of unused is_dirty (#23733) 2022-03-17 16:29:36 -05:00
Jeff Washington (jwash) 66b1f55351
AcctIdx: cheaper check for should evict while flushing (#23705) 2022-03-17 08:46:32 -05:00
Jeff Washington (jwash) 3a46f45650
AcctIdx: add stats for flushing and estimated memory (#23709) 2022-03-17 08:46:00 -05:00
Jeff Washington (jwash) be0aeea01a
AcctIdx: check for range holds outside lock (#23706) 2022-03-16 17:44:59 -05:00
Jeff Washington (jwash) caddb851be
acct idx flush keeps slot_list read lock open (#23704) 2022-03-16 17:29:04 -05:00
Brooks Prumo 11be3fb7fa
Add FlushGuard to ensure `flushing_active` is used safely (#23571) 2022-03-14 10:35:00 -05:00
Brooks Prumo 1fe0d6eeeb
Set ordering flushing_active.swap() to AcqRel (#23567) 2022-03-10 01:22:42 +00:00
Jeff Washington (jwash) a99fd09c16
allow index update to change storage slot # (#23311) 2022-03-03 08:40:48 -06:00
Jeff Washington (jwash) f0a235d16f
add comment (#23378) 2022-02-28 15:18:42 -06:00
Jeff Washington (jwash) 30dafc7135
list -> slot_list (#23355) 2022-02-27 23:08:58 -06:00
Jeff Washington (jwash) 0ad4757159
plumbing for 'other_slot' in 'update_index' (#23330) 2022-02-25 12:58:08 -06:00
Jeff Washington (jwash) 017170c99d
DiskIdx: new items are not dirty by default (#23123) 2022-02-24 10:17:35 -06:00
Jeff Washington (jwash) 2996f1f783
add comments (#23275) 2022-02-23 10:53:11 -06:00
Jeff Washington (jwash) 8b32e80ee2
DiskIdx: rename 'remove' to 'evict' (#23188) 2022-02-22 09:40:25 -06:00
Jeff Washington (jwash) c2435363f3
DiskIdx: fix race condition with holding ranges in mem (#23158) 2022-02-16 09:25:00 -06:00
Michael Vines 6d5bbca630 Pacify clippy 2022-01-21 19:12:57 -08:00
Jeff Washington (jwash) 61cc7b10a9
AcctIdx: respect disk idx mem size param (#22050) 2021-12-22 09:54:05 -06:00
Jeff Washington (jwash) 8ed7ad5fa7
AcctIdx: hold range recognizes already held ranges (#21937) 2021-12-17 10:04:41 -06:00
Jeff Washington (jwash) 729698e815
AcctIdx: items() uses held ranges (#21954) 2021-12-17 09:59:29 -06:00
Jeff Washington (jwash) c4389a6675
AcctIdx: held ranges search in lifo order (#21964) 2021-12-16 23:25:22 -06:00
Jeff Washington (jwash) ba777f4f56
AcctIdx: remove Option from held ranges (#21958) 2021-12-16 21:22:04 -06:00
Jeff Washington (jwash) 82672b40fd
AcctIdx: streamline metric update (#21936) 2021-12-15 19:52:23 -06:00