Current state: In Progress
ISSUE: [Enhancement]: Support collection level config to disable auto-compaction #23993
Keywords: Collection, Compaction, Config
Released: N/A
Compaction has a config item to control whether auto-compaction is enabled or not. This configuration is global and impacts all collections in system.
In some scenarios, we might want to control the granularity of auto-compaction switch so that it could be achieved that:
- Disable auto-compaction during importing data to prevent rebuilt indexes
- Disable auto-compaction during some test cases to make system behavior stable
Add collection level attribute, attribute key is "collection.autocompaction.enabled"(see also pkg/common/common.go).
While handling all compaction signal, check collection level configuration:
- If not set, use global auto-compaction setting
- If config is valid, use collection level setting
- If config value is invalid, fallback to global setting
All collection-level attribute could be changed by AlterCollection
API
Add unit tests for collection level auto compaction switch.
Change some case to disable collection auto compaction to rectify test case behavior.
- Add test to check auto compaction disabled
None