In a long running soak test, the S&F period is set to 43200s (12 hours).
A single polling period is enabled for cell signal and is also set to 43200s (12 hours).
Each measurement captures 12 data points.
Two messages per day are generated as expected.
However , instead of a single message being sent at each S&F period, both messages are sent once daily at every other S&F timer expiry.
The polling event occurs in very close proximity to the message event (i.e., the S&F timer expiry appears to be within ~2 sec of polling timer expiry). However, this should not cause a condition where the S&F buffer is empty at S&F timer expiry, so a single message shoud be generated ever 12 hours.
Can an explanation be provided?
Let me make sure I understand,
“Two messages per day are generated as expected.”
24 hours = daily, so 2 messages should be sent in a 24 hour period even if the S&F buffer is empty.
After configuring Store and Forward for an Octave edge device (via the /cloudInterface/store_forward/period Resource), each communication of data sent to the cloud, updates the last known online status of the device in Octave. However, it can be useful to have the device perform this refresh even if there isn’t anything in the Store and Forward buffer.
So the behavior you are seeing is both S&F based messages are sent every 24 hours? I could see the close proximity of polling and heartbeat being the root cause if the polling happens after the S&F expiry. Thus the 2 S&F messages being sent on the next S&F expiry.
Thanks for the response.
Heartbeat on empty is not enabled.
Two messages are generated every 24 hours.
Both messages are generated at the same time when one of the two S&F timers expire.
No message is generated when the other S&F timer expires.
The expected behavior would be one message generated every 12 hours as each S&F timer expires.
Two measurements are taken every 24 hours, also at 12 hour intervals.
It appears that data should be present in the S&F buffer when each of the S&F timers expire.
Per the timestamps, if we start from the 06/17 data, the S&F timer expires at 03:30:08 generating two messages containing both of the measurement sets.
At this point the S&F buffer is empty.
The next poll timer should expire at 15:30:06, adding one measurement set to the empty S&F buffer.
The next S&F timer should expire at 15:30:08, generating one message containing one measurement set.
Instead, the behavior is as if the S&F buffer is still empty.
The timing between the S&F timer expiry and the polling timer expiry appear pretty close (i.e., 2 sec), so, I guess some latency could explain the issue (?).
I changed the polling timer (reduced by 60 sec) to see if that provides the expected behavior.