[Bundle] Simplify profile refresh during bundle execution #4715
+364
−82
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.
Description
Simplify profile refresh during bundle execution.
In case a bundle contains changes on ValueSet, StructureDefinition and/or CodeSystem, no profile refreshes are executed until the bundle is completed.
This strategy will improve the performance of bundle when handling changes on these resource types.
Bundles were previously delayed due the multiple refreshes and changes on the state of the service.
Related issues
AB#132200
Testing
Testing the improvement, it's noticeable the gain in performance.
With the issue, one of the tests took 160 seconds to execute, and with the fix it only took 2.4 seconds to process the entire bundle.
FHIR Team Checklist
Semver Change (docs)
Patch|Skip|Feature|Breaking (reason)