Applies to: removal or replacement of MQTT wildcard/shared filters on a Persistent or Exclusive session.
Start here when: a cutover stays below Full and reports that managed subscription migration requires restoring the old configuration.
MQTT does not require a broker to redistribute an unacknowledged shared QoS 1/2 delivery after disconnect. A broker may pin it to the persistent session and replay it only to the same ClientID. GoBridge therefore preserves the exact managed-filter ledger, leaves the replay unacknowledged, disconnects, and enters a terminal state. It does not claim Full or portable redistribution.
$share/group/filter),
and handlers.unmatched_grace no-replay verification window complete.Do not remove/rename an entire durable session as an ordinary live reload. Existing sessions with no ledger baseline must first be seeded with every exact filter or migrated under maintenance as documented in the MQTT transport reference.
stores.managed_subscriptions, change ClientID, set
clean_start, expire/delete the broker session, or acknowledge the replay by
another path. Those actions can destroy evidence or lose the delivery.MQTTRouterUnmatchedDropped did not increase for the migrated session.If the retry fails closed again, repeat restore/drain/retry; do not bypass the ledger. A managed-store outage or a reconciliation deadline shorter than the verification window is also fail-closed uncertainty and must be corrected before retry.