Prevent querying all clients in client composite import #1292
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.



What this PR does / why we need it:
As the number of clients in our realms increases, we noticed that the time to run the configuration job increased as well, even though we were omitting the clients from the config JSON. We noticed that the
RoleImportServicestep was taking a much longer time than the other steps.This change updates the
RealmCompositeRepositoryto instead get the realm composites and query the clients based on that, instead of getting all the clients and checking against theRoleResourceto see if it is a composite. This results in a much faster execution of the role import step.This change updates the
ClientCompositeImportservices to more efficiently remove composites that need to be removed. The current method gets all clients and excludes config import client composites, then gets the intersection between that and the existing client composites. The proposed change simply retrieves the existing client composites and excludes the config client compositesCurrent
Proposed
Special notes for your reviewer:
PR Readiness Checklist:
Complete these before marking the PR as
ready to review:CHANGELOG.mdrelease notes have been updated to reflect any significant (and particularly user-facing) changes introduced by this PR