WITH_ACK doesn't work?

Sent this question to support 2 weeks ago, but still waiting on a response, so thought I would try the forums…

We have a reproducible issue where WITH_ACK returns true, but SOMETIMES no data reaches the cloud. Tested on E-series and Electron running latest system firmware.

I’ve searched the forum up and down, and while there are lots of questions about the blocking nature of WITH_ACK, no one has reported false positives for data being sent.

Is this a known issue that WITH_ACK cannot be trusted? Anyone else experience this issue?

Code below:

result = Particle.publish(event, convertData(data, dataLength), 30, PRIVATE | WITH_ACK) != false ? TRANSMIT_OK : TRANSMIT_FAILED;

Thanks in advance!!

  • Grant

What device OS version are you testing with?
Have you checked any of the GitHub issues relating to WITH_ACK whether they might apply to your case?
Have you tried alternative syntax? (e.g. auto result = Particle.publish("name", "data", PRIVATE, WITH_ACK);)

Thanks for the quick reply @ScruffR!

What device OS version are you testing with?

We are running 1.2.1, and have also tested on 1.0.1+

Have you checked any of the GitHub issues relating to WITH_ACK whether they might apply to your case?

Yes, I did. Richard reports that WITH_ACK is not working on Photon on device OS 1.0.0+. His issue has not received any followup, posted 9 months ago. Based on similar posts in the forum and other closed Github issues, sounds like this is Photon-specific.
https://github.com/particle-iot/device-os/issues/1679

Have you tried alternative syntax?

Yes I did test this.

1 Like

Maybe adding some more comments may help nudging the issue up the priority list or at least lift it out of limbo.

Maybe adding some more comments may help nudging the issue up the priority list or at least lift it out of limbo.

I'm not sure what else to post, given that this code is handled by the device OS. In terms of testing for this, we orient the Electron so that it has a pretty poor connection (semi frequent disconnects and connection timeouts). We can duplicate this behaviour in a pretty short amount of time... several resets later.

As a general question to the community, is WITH_ACK considered unreliable? Should we just avoid using it? I'm just surprised there is not more chatter about this on the forums...?

I meant adding a comment on the open issue on GitHub.