We are running Ignition 8.3.3 with MQTT Transmission publishing Sparkplug B encoded messages to a HiveMQ broker. On the broker side, a HiveMQ Data Policy deserializes the Sparkplug B protobuf payloads and transforms them into JSON. The resulting JSON messages are then forwarded to Azure Event Hubs via the HiveMQ Enterprise Kafka Extension. There is no MQTT Engine or Sparkplug Primary Host Application in this architecture.
On the Transmission side, we have a History Store configured and enabled on the transmitter to buffer data during broker connectivity loss. However, since the Sparkplug B specification defines QoS 0 for NDATA/DDATA messages, there is no protocol-level delivery acknowledgment from the broker, leaving a potential data loss window during transient TCP failures where Transmission considers a message delivered but the broker has not received it.
Is there a supported configuration in MQTT Transmission to publish Sparkplug B data messages at QoS 1, or is QoS 0 strictly mandated by the specification for NDATA/DDATA?
What are the alternatives to tackle this situation?