Details
-
New Feature
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
5.13.4
-
None
Description
When dynamicallyIncludedDestinations are used for a NetworkConnector durable subscriptions are tracked (added/removed) in the connector. This allows the broker to create network subscriptions automatically on a remote broker to match the demand that is created and then to destroy the network subscriptions when no longer needed.
The problem with this is that if the bridge is restarted or if the brokers are restarted, the information about the durable subscriptions is lost. For example, if the bridge is stopped and a local durable subscription is added, this new durable will not be added to the remote conduit network conduit subscription on reconnect. Or, if a local durable subscription is removed while the bridge is offline, on reconnect the remote durable sub will not be cleaned up even if there are no more matching durables.
To fix this we need to add a new OpenWire command to support the syncing of durable subscriptions when a bridge is restarted. The goal of this command is to re-add missing subscriptions and to clean up no longer needed subscriptions on reconnect.
Note that this new sync option will only apply when dynamicOnly is false and conduitSubscriptions is true. (both of these are enabled by default)