-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Refactor MirrorMaker2Connectors configuration setup #11150
base: main
Are you sure you want to change the base?
Conversation
Signed-off-by: Gantigmaa Selenge <[email protected]>
/azp run regression |
Azure Pipelines successfully started running 1 pipeline(s). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@tinaselenge Do we need any improvements to how the Pods are reloaded when the values change? The use of environment variables forced the rolling of the pods. So I'm not sure if we will miss it now or not.
From what I understand reading the code I agree we need to consider what happens when the values change. The file and directory config providers only read the value when the connector or runtime starts as far as I understand. So today when the env var changes, the pod revision will have changed so we roll the Connect pods. But now there is nothing to notice the change in the file/directory that is used in the config provider. Adding @mimaison to sanity check my understand of the Kafka FileConfigProvider and DirConfigProvider |
@scholzj @katheris very good points! So this is my understanding how the current config set up works:
So we already use config providers to get the value of these secrets. The environment variables are set to the volume mount path of these secrets, rather than the actual secret values. So unless secret name or key has changed, the pods are not rolled as the environment variables would still be set to the same secret paths. My understanding was that the pods are rolled because the actual data in the volume mounted secrets have changed, not because of the environment variables. This PR essentially removes the extra step of creating MirrorMaker2ST has some tests that updates the secret values and checks that MM2 pods have rolled such as Please let me know, if I got anything wrong or what I described is not accurate. |
Do they? That is pretty much what I asked about. In the current code when the
|
Type of change
Select the type of your PR
Description
Refactors MirrorMaker connector configuration setup so that only config providers used, instead of bash script.
Closes #10668
Checklist
Please go through this checklist and make sure all applicable tasks have been done