Introduce event publishing management for integration components and adjust Azure Service Bus customization to install the topics during provisioning#5440
Draft
danielmarbach wants to merge 2 commits intomasterfrom
Conversation
…adjust Azure Service Bus customization to install the topics during provisioning
DavidBoike
approved these changes
Apr 24, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
During the introduction of the default topology, we did not account for the fact that integration events are published by default. When the required entities do not exist, the transport swallows the “entity not found” exception. However, this only happens after several retries by the Azure SDK, which can result in warning logs and, in the worst case, reduce the efficiency of the integration event publisher.
This PR addresses that issue by ensuring that all published event types are registered and carried forward into transport provisioning. Most transports are unaffected, but Azure Azure Service Bus, in the context of ServiceControl, requires these entities to exist. With this change, the transport can provision the required topics so publishing succeeds without unnecessary retries.
Provisioning behavior still respects existing configuration:
SkipQueueCreationis enabled, topics will not be created.DisableIntegrationEventPublishing = true, integration-event-related infrastructure will not be provisioned. If someone sets the flag totrueduring setup and later sets it tofalsethen no infrastructure would have been provisioned, and the failure will be logged, which is expected.In addition, this PR slightly refactors the integration event setup so it aligns better with the already componentized infrastructure.
While working on this change, I also discovered that when
MessagesEditedAndRetriedwas introduced, the event was not added toEventsToMigrate. This is now handled automatically, reducing the risk of similar omissions in the future.