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__.
What does this PR do?
Backport of https://github.com/saltstack/salt/pull/66494
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 intop.sls
, this fix is intended to speed up the pillar renderer by reusing he matchers loaded once and stored in the__context__
.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
forpillar
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.
See GitHub's page on GPG signing for more information about signing commits with GPG.