[fix][admin] Keep new inputSpecs when updating sink configs #19082
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.
Fixes #18507
Motivation
When a user updates inputSpect of a sink by providing both
--inputsand--input-specs, exitingconsumerConfigwill be wiped out.Modifications
On the
validateUpdatecode path, there is a logic that populates theinputSpecsinside thenewConfigto emptyconsumerConfig. This will overwrite the existing specs when later on the methods attempts a merge and will also merge in the hard coded consumer configs ignoring any new values the user might've provided. By only setting the consumerConfig to a default value if such config didn't exit, the behavior is similar to what would happen if the user did the update, without providing the--inputsspecs (which is, newConfig consumer config will overwrite exiting ones.Verifying this change
This change added tests and can be verified as follows:
--inputssetsinks getcommandDoes this pull request potentially affect one of the following parts:
If the box was checked, please highlight the changes
Documentation
docdoc-requireddoc-not-neededdoc-completeMatching PR in forked repository
PR in forked repository: aymkhalil#4