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
asked 3 years ago179 views
1 Answer
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
answered 3 years ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions