catalog-backend: switch flags to new default for 3.0 #30546
Merged
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.
Hey, I just made a Pull Request!
With catalog backend shipping 3.0 in the next release we thought it was time to include a few more changed to the default configuration:
disableRelationsCompatibility: true
: Relations compatibility is now disabled by default, but it can be re-enabled with the newenableRelationsCompatibility
flag. Relations compatibility makes sure there's bothtarget
andtargetRef
in all relation objects, which significantly reduces overall performance of the catalog. With compatibility disabled, only thetargetRef
will be present. Only bespoke external consumers of the catalog could be affected by this change, as thetargetRef
has been in use for many years at this point.orphanStrategy: 'delete'
: This switches the default orphan strategy to eagerly delete entities that are no longer referenced within the catalog.orphanProviderStrategy: 'delete'
: This switches the default provider installation strategy to remove and entities that have been omitted by providers that are no longer present.stitichingStrategy: { mode: 'deferred' }
: Switches the stitching strategy to happen out-of-band of the main processing loop, instead being run in a background task. This makes stitching a lot more performant in large catalogs.These are all flags that have been around for a while and are often cited as fixes to common catalog problems. We feel it's worth switching over all of these defaults to provide a better out-of-the-box experience for the catalog. These new defaults should behave well with existing catalogs as well, but there may be some edge cases that we haven't thought of, and will be highlighting this change in the release notes.
These are in addition to the
catalog.useUrlReadersSearch
switch in #29788