Separate config validation from FileSystemConfigPersistence #4169
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.
What
PostgresConfigPersistence
we noticed that were were duplicate the code for validating the schema of configs.How
ValidatingConfigPersistence
that will decorate anyConfigPersistence
with the validation logic.DefaultConfigPersistence
=>FileSystemConfigPersistence
(in preparation of us having aPostgresConfigPersistence
ServerApp
andSchedulerApp
to use the decorated-with-validation version ofFileSystemConfigPersistence
.PostgresConfigPersistence
a bit easier.Other...
Instead of going with the decorator pattern here we could have these class extend a
ValidatingConfigPersistence
base instead. I'm open to that as well. In watching @subodh1810 deal with some of the validation stuff getting in the way that being able to interact with these persistences without opinionated validation might be helpful. I might be misguided on this though.Recommended reading order
FileSystemConfigPersistence.java
ValidatingConfigPersistence.java
@tuliren tagged you since this will interact with the issue you are going to work in.