You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We have found a bug concerning the use of Mosquito and IoTAgents in a High Availability architecture. In such a deployment, when a new measurement arrives to the MQTT Broker, the MQTT Broker redirects the message to all its subscribers. Being in active-active configuration, both IoTAgents are subscribed to all measurements, so both receive a copy of the message and both agents send updates to the Context Broker. Here, two things can happen, depending on the information sent and how the IoTAgent is configured:
If the IoTAgent is configured not to use a TimeInstant attribute, both messages will be identical, and even though two updates will be sent, one of them will be discarded by the Context Broker, as nothing changed in the entity. Subscribers to the entity would only receive one notification.
If the IoTAgent is configured to use the TimeInstant attribute, and a mapping is stablished from a timestamp in the measurement to the TimeInstant attribute, all the fields would be assigned the same timestamp, so the messages will be the same and just one notification will arrive to the client.
In any other cases, where the IoTAgent has the TimeInstant attribute configured and there is no mapping for timestamps (and that's currently the case, as there is a bug that prevents that mapping from working), two slightly different messages would arrive from the IoTA to the Context Broker, so two notifications would be sent for each measurement. This will cause the duplication of every measure in each NGSI sink subscribed to the device information.
The solution to this problem will involve analysis of the current architecture, not only development from the IoTA team, concerning how the MQTT Broker is being used right now.
The text was updated successfully, but these errors were encountered:
in need of an scalable MQTT Broker, RabbitMQ with the MQTT plugin will be used, connecting the IoT Agent to RabbitMQ through AMQP and the clients to RabbitMQ through MQTT.
We have found a bug concerning the use of Mosquito and IoTAgents in a High Availability architecture. In such a deployment, when a new measurement arrives to the MQTT Broker, the MQTT Broker redirects the message to all its subscribers. Being in active-active configuration, both IoTAgents are subscribed to all measurements, so both receive a copy of the message and both agents send updates to the Context Broker. Here, two things can happen, depending on the information sent and how the IoTAgent is configured:
The solution to this problem will involve analysis of the current architecture, not only development from the IoTA team, concerning how the MQTT Broker is being used right now.
The text was updated successfully, but these errors were encountered: