Commit Graph

2578 Commits

Author SHA1 Message Date
c944bfb1d9 AcctIdx tests use disk buckets (#20070) 2021-09-22 08:55:58 -05:00
9e9417b474 AcctIdx: initialze stats with # bins (#20088) 2021-09-22 08:55:07 -05:00
b918c2f4cd AcctIdx: remove_if_slot_list_empty uses disk backing (#20069) 2021-09-22 08:48:44 -05:00
6c518102dd AcctIdx: fix some missing dirty calls (#20089) 2021-09-22 08:45:08 -05:00
1b58166e9d chore: bump memmap2 from 0.4.0 to 0.5.0 (#20057)
* chore: bump memmap2 from 0.4.0 to 0.5.0

Bumps [memmap2](https://github.com/RazrFalcon/memmap2-rs) from 0.4.0 to 0.5.0.
- [Release notes](https://github.com/RazrFalcon/memmap2-rs/releases)
- [Changelog](https://github.com/RazrFalcon/memmap2-rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/RazrFalcon/memmap2-rs/compare/v0.4.0...v0.5.0)

---
updated-dependencies:
- dependency-name: memmap2
  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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <dependabot-buildkite@noreply.solana.com>
2021-09-21 17:20:49 -06:00
e6795e6fdd AcctIdx: get can load from disk (#20067) 2021-09-21 12:40:07 -05:00
7f3d445af5 AcctIdx: Orderings and cleanup (#20046) 2021-09-21 10:52:39 -05:00
bbe151e594 AcctIdx: only flush if disk index being used (#20045) 2021-09-21 08:42:13 -05:00
38ea3aa31a AcctIdx: keys impl when items are on disk (#20039) 2021-09-21 08:41:39 -05:00
fb71e80962 AcctIdx: accessors for age (#20023) 2021-09-21 08:41:17 -05:00
c3679ab9bd AcctIdx: first pass at aging buckets (#20008) 2021-09-21 08:40:55 -05:00
b507715d44 CPI without Account Refs (#20034)
* Removes search for accounts and unsafe lifetime transmute in InvokeContext::push().

* Replaces accounts by account_indices in verify_and_update() and process_cross_program_instruction().

Co-authored-by: Justin Starry <justin.m.starry@gmail.com>
2021-09-21 14:41:02 +02:00
94330de843 AcctIdx: delete from disk index (#20035) 2021-09-20 16:19:21 -05:00
6399a87485 AcctIdx: report age in stats (#20025) 2021-09-20 14:30:12 -05:00
e9ee90a121 AcctIdx: age adds time component (#20024) 2021-09-20 14:29:34 -05:00
d842705622 AcctIdx: when bg processing in multiple threads, avoid bin collisions (#20019) 2021-09-20 11:50:22 -05:00
e6934e7247 AcctIdx: consolidate to correct CondVar (#20017) 2021-09-20 09:58:20 -05:00
55d9ff9899 WaitableCondVar supports notify_one (#20013) 2021-09-20 09:57:57 -05:00
bc7983b13e AcctIdx: metric for active bg threads (#20026) 2021-09-20 09:44:40 -05:00
2a42f8a06e AcctIdx: disk index now holds a bucket map (#19995) 2021-09-20 08:40:10 -05:00
af5b0d42a8 AcctIdx: initial index items have future age to flush (#20010) 2021-09-19 20:22:09 -05:00
c1d181add5 add --accounts-index-memory-limit-mb (#19269) 2021-09-19 18:00:15 -05:00
f579f73700 AcctIdx: introduce age per in-mem bucket (#19982) 2021-09-18 22:09:37 -05:00
742155c214 call set_startup and add metrics on generate_index (#20006) 2021-09-18 22:08:58 -05:00
db40d06a39 AcctIdx: introduce startup to bucket map (#20004) 2021-09-18 12:55:57 -05:00
bed0049a51 AcctIdx: add age per item in in_mem acct idx (#19981) 2021-09-18 09:56:26 -05:00
8df8f4396d AcctIdx: start calling flush on in mem cache buckets (#19966)
* AcctIdx: start calling flush on in mem cache buckets

* fix orderings
2021-09-18 09:56:08 -05:00
4089f8b06b AcctIdx: with multiple bg threads, only log stats once per time interval (#19984) 2021-09-18 09:55:20 -05:00
4e038e94fd add 'drives' to AccountsIndexConfig (#19989) 2021-09-18 09:54:57 -05:00
f500c99a6d pass AcctIdxConfig to BucketMapHolder (#19997) 2021-09-18 09:54:00 -05:00
bd86f41e18 acct idx tests use 2 bins instead of 8k (#19996) 2021-09-18 09:53:44 -05:00
4dc2f08198 AcctIdx: hold_range_in_memory (#19955) 2021-09-17 22:19:29 +00:00
24b136a993 AcctIdx: configurable flush threads (#19983) 2021-09-17 22:02:43 +00:00
b2152be3b2 introduce bucket map (#19848)
* introduce bucket map

* rename BucketMap bits to num_buckets_pow2

* use u64::BITS

* Store the number of buckets in BucketMapConfig as a regular number

* remove redundant type aliases

* use Slot from sdk

* use Arc::clone() instead

* fixup erase drives

* rename num_buckets to max_buckets

* add doc to BucketMapConfig::new()

* add more documentation

* rename to DEFAULT_CAPACITY_POW2

* doc

* add more traits while we can

* rename capacity to capacity_pow2

* fix a naming for max_buckets_pow2

* remove unused/incorrect DataBucket::bytes

* rework benches a bit

* fixup bench docs

* rename create_bucket_capacity_pow2 to bucket_capacity_when_created_pow2

* rename BucketMapKeyValue to BucketItem

* rename to items_in_range

* remove values()

* remove addref and unref

* remove more addref and unref

* resurect addref and unref since tests use 'em for now

* rename to BucketStorage

* move stats in bucket_stats

* remove specializations (i don't think they are needed)

* move MaxSearch and RefCount into lib.rs

* move BucketItem to bucket_item.rs

* add doc

* keys no longer returns an option

* Revert "remove specializations (i don't think they are needed)"

This reverts commit b22f78e072.

Co-authored-by: Brooks Prumo <brooks@solana.com>
2021-09-17 15:11:27 -05:00
cddb9da4f0 AcctIdx: central age functions/state (#19980) 2021-09-17 15:11:07 -05:00
99f5684dc4 AcctIdx: handle future config defaults (#19967) 2021-09-17 13:12:06 -05:00
9998e16df3 AcctIdx: prepare to spin up multiple bg threads (#19969) 2021-09-17 11:53:25 -05:00
7b0bf64404 cleanup old features (#19956) 2021-09-17 09:46:49 -07:00
37d6f5013f AcctIdx: initialize acct idx by config (#19968) 2021-09-17 16:39:41 +00:00
b8106e2450 chore: bump memmap2 from 0.3.1 to 0.4.0 (#19974)
* chore: bump memmap2 from 0.3.1 to 0.4.0

Bumps [memmap2](https://github.com/RazrFalcon/memmap2-rs) from 0.3.1 to 0.4.0.
- [Release notes](https://github.com/RazrFalcon/memmap2-rs/releases)
- [Changelog](https://github.com/RazrFalcon/memmap2-rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/RazrFalcon/memmap2-rs/compare/v0.3.1...v0.4.0)

---
updated-dependencies:
- dependency-name: memmap2
  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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <you@example.com>
2021-09-17 10:00:12 -06:00
376b20c3d2 AcctIdx: add some bucket flush helpers (#19965) 2021-09-17 10:41:30 -05:00
4d8b3aa578 AcctsIdx: introduce dirty state per pubkey (#19960) 2021-09-16 21:36:23 -05:00
58f25a8752 AcctIdx: move background() to AccountsIndexStorage (#19948) 2021-09-16 17:52:06 -05:00
66e0fafc21 AccountsIndexStorage holds InMemAccountsIndex[] (#19947) 2021-09-16 21:12:22 +00:00
dc69cc1ae4 Only allow votes when root distance gets too high (#19917) 2021-09-16 15:12:26 +02:00
bd434d92e1 nit: misspelling (#19929) 2021-09-16 01:27:26 +00:00
fd60ef78eb chore: bump flate2 from 1.0.21 to 1.0.22 (#19863)
* chore: bump flate2 from 1.0.21 to 1.0.22

Bumps [flate2](https://github.com/rust-lang/flate2-rs) from 1.0.21 to 1.0.22.
- [Release notes](https://github.com/rust-lang/flate2-rs/releases)
- [Commits](https://github.com/rust-lang/flate2-rs/compare/1.0.21...1.0.22)

---
updated-dependencies:
- dependency-name: flate2
  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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <dependabot-buildkite@noreply.solana.com>
2021-09-15 14:30:30 -06:00
eddd583cd5 AcctIdx: pass bins to BucketMapHolder (#19906) 2021-09-15 18:07:53 +00:00
99f2c746d1 AcctIdx: Put InMemAcctIndex behind arc (#19904) 2021-09-15 17:36:08 +00:00
b467e7fb3b AcctIdx: remove auto Debug trait (#19905) 2021-09-15 09:54:16 -05:00