diff --git a/.changeset/whole-dingos-lay.md b/.changeset/whole-dingos-lay.md new file mode 100644 index 0000000000..edefa5c44e --- /dev/null +++ b/.changeset/whole-dingos-lay.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-catalog-backend': patch +--- + +Only run provider orphan cleanup if the engine is started in the first place diff --git a/plugins/catalog-backend/src/service/CatalogBuilder.ts b/plugins/catalog-backend/src/service/CatalogBuilder.ts index 93a6a96eb0..e697c6e77f 100644 --- a/plugins/catalog-backend/src/service/CatalogBuilder.ts +++ b/plugins/catalog-backend/src/service/CatalogBuilder.ts @@ -622,18 +622,21 @@ export class CatalogBuilder { enableRelationsCompatibility, }); - if (config.getOptionalString('catalog.orphanProviderStrategy') !== 'keep') { - await evictEntitiesFromOrphanedProviders({ - db: providerDatabase, - providers: entityProviders, - logger, - }); - } await connectEntityProviders(providerDatabase, entityProviders); return { processingEngine: { async start() { + if ( + config.getOptionalString('catalog.orphanProviderStrategy') !== + 'keep' + ) { + await evictEntitiesFromOrphanedProviders({ + db: providerDatabase, + providers: entityProviders, + logger, + }); + } await processingEngine.start(); await stitcher.start(); },