-
Notifications
You must be signed in to change notification settings - Fork 96
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
fix(kms): set proper node regions in multi-dc setups #9026
fix(kms): set proper node regions in multi-dc setups #9026
Conversation
The AWS-KMS code in DB node python class uses shared dictionary from the DB cluster class for updating the KMS endpoint region. It was not a problem when DB nodes setup was serial. In this case shared object was changed by each node but had proper value in needed time frame. After implementation of the parallel DB nodes setup [1] we started getting problems that only one state of that shared object was being applied for all nodes. In single-dc setups everything was correct just because there was no diff among DB node's region names. But in multi-dc setups values from DB nodes started being applied to each other. So, fix it by just deep-copying that shared dictionary to avoid updates of a shared object. [1] scylladb#7383 Closes: scylladb#9025
Example of the failure: enterprise-2024.2/tier1/longevity-multidc-schema-topology-changes-12h-test#7 Must be backported to the |
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.
LGTM
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.
LGTM
The AWS-KMS code in DB node python class uses shared dictionary
from the DB cluster class for updating the KMS endpoint region.
It was not a problem when DB nodes setup was serial.
In this case shared object was changed by each node but had proper value in needed time frame.
After implementation of the parallel DB nodes setup (#7383)
we started getting problems that only one state of that shared object was being applied for all nodes.
In single-dc setups everything was correct just because there was no diff among DB node's region names.
But in multi-dc setups values from DB nodes started being applied to each other.
So, fix it by just deep-copying that shared dictionary to avoid updates of a shared object.
Closes: #9025
Testing
PR pre-checks (self review)
backport
labelsReminders
sdcm/sct_config.py
)unit-test/
folder)