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

[master] Speed up salt.matcher.confirm_top by using __context__ #66494

Merged

Conversation

vzhestkov
Copy link
Contributor

What does this PR do?

In case of having complex top.sls with a list of different matchers based on grains/pillars etc. it could be possible that salt will reload matchers again and again for all of the possible matches in top.sls, this fix is intended to speed up the pillar renderer by reusing he matchers loaded once and stored in the __context__.

Example:
with top.sls like the following:

base:
...
  'grain_name_A:value_X':
    - match: grain
    - subdir.X

  'grain_name_A:value_Y':
    - match: grain
    - subdir.Y
...

In case if the number of matching rules significant it could take unexpected amount of time due to loading the matchers on each rule.

What issues does this PR fix or reference?

Tracks: https://github.com/SUSE/spacewalk/issues/23526

Previous Behavior

If there is a list of different matches in top.sls for pillar it could take much time to render pillar data on _pillar calls from the minions.

New Behavior

Each next call for rendering the pillar will reuse the matchers from the __context__ so it will significantly speed up the calls.

Merge requirements satisfied?

[NOTICE] Bug fixes or features added to Salt require tests.

Commits signed with GPG?

Yes/No

Please review Salt's Contributing Guide for best practices, including the
PR Guidelines.

See GitHub's page on GPG signing for more information about signing commits with GPG.

@vzhestkov vzhestkov requested a review from a team as a code owner May 9, 2024 08:02
@vzhestkov vzhestkov requested review from Akm0d and removed request for a team May 9, 2024 08:02
@salt-project-bot-prod-environment salt-project-bot-prod-environment bot changed the title Speed up salt.matcher.confirm_top by using __context__ [master] Speed up salt.matcher.confirm_top by using __context__ May 9, 2024
@dwoz dwoz merged commit 7017c14 into saltstack:master May 21, 2024
194 checks passed
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

2 participants