Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[ENH] Min compaction size (chroma-core#2346)
## Description of changes *Summarize the changes made by this PR.* - Improvements & Bug fixes - I overhauled the property tests for the log service. There were bugs and also it was underspecc'ed - The main bug was the the len() being used was over collectionData not of the collectionData[C] in question. - I added invariants using rapids "" action, which is the way to add invariants. - The invariants check the log is as we expect and also the the collections we expect get returned - I actually use the enumerationoffset in the model now - The model will _actually_ purge the log it has. - The prop test will check the fields of its records for equality - New functionality - This PR introduces the "Min compaction size" argument on GetCollectionsToCompact, making it so that the compactors can skip logs with only a handful of entries. - This min compaction size is config for the compactor - I updated the rust in memory log to respect the min size. - The property test is extended to check that min_compaction_size works. Other notes: - The log service types all use int where they should be uint. I added a cleanup task to go convert the incorrect types. The new type I introduce is correct. ## Test plan *How are these changes tested?* - [x] Tests pass locally with `pytest` for python, `yarn test` for js, `cargo test` for rust ## Documentation Changes None
- Loading branch information