feat: Validate Collection memory config through adding conflictsWith
validation
#806
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Which problem is this PR solving?
Fixes #803 by ensuring that only both
AvailableMemory
andMaxAlloc
cannot be set at the same.MaxMemoryPercentage
may still be set regardless as it has a default value defined.While making this changes I noticed that when only
AvailableMemory
was defined I ran into a validationrequireWith
error. The validation only fails on the first pass before defaults are loaded in from the config struct. If the failure is intentional then we probably should remove the default -- only breaking change I could see is if someone was running with validations turned off explicitly.Short description of the changes
conflictsWith
validation type acting in an opposite way torequireWith
requireWith
to check whether or not the required field has a default valueFixes #803.