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 concurrent provider config reloads #2276
fix concurrent provider config reloads #2276
Conversation
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.
Anyone else wants to have a look 👼 I would go and rebase after the final approve if this is OK. |
@marco-jantke could you solve conflicts before? |
f6f0b72
to
f6784cb
Compare
Yes, sure thing. Rebased. |
@marco-jantke could you rebase again? |
@marco-jantke Are you here? 😄 |
Yes I am, at least kind of.. :D I already tried to rebase, but there are some real merge conflicts now that I have to take care of. Sorry, I am very busy these weeks/months and try to come back to it soonish. |
f6784cb
to
2b8e1c1
Compare
1536d93
to
2fb4084
Compare
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
This commit fixes problems with concurrent provider reloads in relation with the throttling functionality of the provider reloads. The failure scenario before looked the following way: Given we have a ProvidersThrottleDuration of 2 seconds and two providers configured: Provider A and B. - a configuration update comes in of provider A at second 0. This config gets applied. - a configuration update comes in of provider B at second 1. The config reload gets delayed. - a configuration update comes in of provier A at second 1.5. This config reload gets delayed. - it is second 2.0 and the last config update of provider A gets applied, whereas the config update of provider B is lost.
2fb4084
to
08faafa
Compare
This PR fixes problems with concurrent provider reloads in relation with the throttling functionality of the provider reloads.
The failure scenario before looked the following way:
configured: Provider A and B.
gets applied.
reload gets delayed.
config reload gets delayed.
applied, whereas the config update of provider B is lost.
This PR fixes this problem by applying the config reload throttling individually for each provider.
Note: As I removed the last usage of concurrent-map with this PR, I also removed the dependency in glide and the vendor directory.