Greengrass Connectivity and Missed Shadow Updates

0

Hi - I'm looking for general guidance on the use of shadows for syncing configuration (state via Shadow documents) between a GGC device and IoT Core. We use python and Java SDKs for connecting to the IoT Core and subscribing to/updating shadows.

We are trying to manage a concern where an update to a shadow document that occurs in the cloud is not transmitted to the device during brief disconnectivity, but the device does not know that connectivity dropped out.

Consider the following example:

  1. MQTT connection is established.
  2. Disconnect wifi/ethernet etc (connection to cloud)
  3. Update shadow document from the cloud
  4. Turn the Wi-Fi after a few seconds

Expected:
5) MQTT Connection events & Shadow change events are triggered (e.g connection resumed, shadowUpdate topic message, etc)

We are seeing that if the disconnection in #4 is short then MQTT Connection events and shadow change events do not call back.

The failure mode here is that the device thinks it has the latest shadow document, but it does not.

This seems like a general consensus issue in distributed systems and I am sure AWS has considered this issue.

Does anyone have any ideas?

Thanks
Chris

Edited by: cmutzel on Jul 21, 2021 5:56 PM

cmutzel
preguntada hace 3 años183 visualizaciones
1 Respuesta
0

Spoke with Gavin at AWS today. He suggested that if using QoS=1, the Pub message on the Shadow topic should be resent until it is PUBACKed by the client on the device. This would suggest that there may be something wrong with our test configuration.

cmutzel
respondido hace 3 años

No has iniciado sesión. Iniciar sesión para publicar una respuesta.

Una buena respuesta responde claramente a la pregunta, proporciona comentarios constructivos y fomenta el crecimiento profesional en la persona que hace la pregunta.

Pautas para responder preguntas