Commit Graph

189 Commits

Author SHA1 Message Date
behzad nouri f67ecd5c18
removes unused Cargo dependencies (#22022)
Also moving some to [dev-dependencies] so that they are not propagated
to other packages which depend on the package.
2021-12-22 17:01:33 +00:00
Jeff Washington (jwash) 5b464a32f5
Disk Buckets: unlock verifies expected (#22052) 2021-12-21 16:35:59 -06:00
Jeff Washington (jwash) 1c0cd2cbb4
DiskBuckets: remove unnecessary atomic on uid (#22039) 2021-12-21 15:50:39 -06:00
Jeff Washington (jwash) b36f7151fc
Disk buckets: abstract UID_UNLOCKED (#22051) 2021-12-21 14:51:38 -06:00
Jeff Washington (jwash) 711856cad3
disk buckets: clone_from_slice -> copy_from_slice (#22038) 2021-12-21 13:52:03 -06:00
Jeff Washington (jwash) 84eaaae062
disk_buckets: factor out unsafe code (#22028) 2021-12-21 13:50:04 -06:00
Jeff Washington (jwash) 70f96bda25
disk buckets: refactor (#21972) 2021-12-17 10:16:34 -06:00
Jeff Washington (jwash) 6374995522
AcctIdx: share bucket map size for perf (#21935) 2021-12-16 21:25:54 -06:00
Trent Nelson d6f22433d0 Bump version to v1.10.0 2021-12-04 20:17:54 +00:00
Michael Vines b8837c04ec Reformat imports to a consistent style for imports
rustfmt.toml configuration:
  imports_granularity = "One"
  group_imports = "One"
2021-12-03 09:19:13 -08:00
Jeff Washington (jwash) f598ee696c
AcctIdx: disk bucket cleanup (#21520) 2021-12-01 12:17:32 -06:00
Michael Vines dd12d90eac Upgrade to Rust 2021 2021-11-30 20:43:46 -08:00
Jeff Washington (jwash) 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
Jeff Washington (jwash) 4f6a0b2650
AcctIdx: stats for buckets on disk, add median (#20528) 2021-10-08 13:58:38 -05:00
Brooks Prumo 839edd35a4
Correctly constrain BucketStorage Header's memory ordering (#20507) 2021-10-07 13:32:40 -05:00
Trent Nelson 767f740305 Bump version to 1.9.0 2021-10-06 17:57:41 -07:00
Michael Vines 7027d56064 Resolve nightly-2021-10-05 clippy complaints 2021-10-06 10:37:58 -07:00
Jeff Washington (jwash) 18e47ab9f9
AcctIdx: remove duplicate mmap creation (#20453) 2021-10-06 00:58:25 +00:00
Jeff Washington (jwash) 6ea96b3274
AcctIdx: grow data buckets to default size on creation (#20454) 2021-10-05 19:16:02 -05:00
Jeff Washington (jwash) d03bf2bbfe
AcctIdx: metrics fixes (#20449) 2021-10-05 22:26:29 +00:00
Jeff Washington (jwash) 71ec05e2f6
AcctIdx: cleanup (#20443) 2021-10-05 19:59:08 +00:00
Jeff Washington (jwash) dc47a56c22
AcctIdx: bucket map grows with read lock (#20397) 2021-10-05 09:59:17 -05:00
Jeff Washington (jwash) 196cc8cfdf
AcctIdx: Remove unnecessary Arc (#20412) 2021-10-04 16:05:16 -05:00
Jeff Washington (jwash) cbf427228c
AcctIdx: misc cleanup (#20398) 2021-10-04 11:49:20 -05:00
Jeff Washington (jwash) 8da2eb980a
AcctIdx: introduce BucketApi for access to a specific bucket (#20359) 2021-10-04 11:48:09 -05:00
Jeff Washington (jwash) 5e05f12c48
AcctIdx: bucket perf improvements (#20328) 2021-09-30 01:53:26 +00:00
Brooks Prumo 72f5bfbae2
bucket_map: rename num_cells() to capacity() (#20150) 2021-09-24 01:08:06 +00:00
Tyera Eulberg 98af19bde3 Fix fmt 2021-09-23 13:39:53 -06:00
Jeff Washington (jwash) 254d9c8903
range takes a ref (#20140) 2021-09-23 13:57:56 -05:00
Jeff Washington (jwash) 476124de50
AcctIdx: report disk bucket stats (#20120) 2021-09-22 18:17:20 -05:00
dependabot[bot] 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
Brooks Prumo 52de97e280
Add type alias for Uid (#20075) 2021-09-21 20:09:04 +00:00
Brooks Prumo 0b6e9d861e
Remove unnecessary cfgs in bucket map (#20068) 2021-09-21 19:45:34 +00:00
Brooks Prumo c88fb6952c
Use a constant for unlocked header uid (#20048)
Instead of just a literal `0` for UID when the header is unlocked, make a constant to give additional context.
2021-09-21 08:53:26 -05:00
Brooks Prumo afa04f7abd
Fixup atomic ordering on BucketStorage Header (#20005)
Lock-type operations should be atomic::acquire, and unlock-type
operations should be atomic::release, so setting that here.

Additionally, change `unlock()` so it cannot fail.
2021-09-20 21:59:41 -05:00
Jeff Washington (jwash) 4716cd518d
bucketmap items_in_range does not return Option (#20036) 2021-09-20 17:18:12 +00:00
dependabot[bot] 6926d59d39
chore: bump memmap2 from 0.2.3 to 0.4.0 (#20031)
* chore: bump memmap2 from 0.2.3 to 0.4.0

Bumps [memmap2](https://github.com/RazrFalcon/memmap2-rs) from 0.2.3 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.2.3...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-20 11:14:34 -06:00
Jeff Washington (jwash) d6d2840c94
add bucketmap 'insert' to eliminate copies (#20020) 2021-09-20 10:36:48 -05:00
Jeff Washington (jwash) 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 b22f78e072cf0f7107851b08e58c2e3fead3f64d.

Co-authored-by: Brooks Prumo <brooks@solana.com>
2021-09-17 15:11:27 -05:00