Skip to content
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

Acquire locks before starting or restarting dynamic Shovels #3167

Merged

Conversation

michaelklishin
Copy link
Member

@michaelklishin michaelklishin commented Jun 30, 2021

When N cluster nodes are configured to import the same definition
file that includes Shovel declarations, there is a natural race
condition that can lead to Shovels being started on multiple
nodes at roughly the same name.

This can be hard to spot but is guaranteed to be problematic for
Shovels that use an exchange as a source.

See #3154 for the background.

Per discussion with @kjnilsson.

When N cluster nodes are configured to import the same definition
file that includes Shovel declarations, there is a natural race
condition that can lead to Shovels being started on multiple
nodes under the same name.

See #3154 for the background.
@michaelklishin michaelklishin merged commit f08c895 into master Jun 30, 2021
michaelklishin added a commit that referenced this pull request Jun 30, 2021
…from-definitions

Acquire locks before starting or restarting dynamic Shovels

(cherry picked from commit f08c895)
michaelklishin added a commit that referenced this pull request Jun 30, 2021
…from-definitions

Acquire locks before starting or restarting dynamic Shovels

(cherry picked from commit f08c895)
@michaelklishin michaelklishin deleted the mk-duplicate-shovels-imported-from-definitions branch June 30, 2021 19:13
@michaelklishin
Copy link
Member Author

Backported to v3.9.x and v3.8.x.

@michaelklishin michaelklishin added this to the 3.8.19 milestone Jun 30, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant