Skip to content

Mqttclient is not receiving messages from aws-iot beyond certain time of in-activity #789

@gopaladhith

Description

@gopaladhith

Describe the bug

Hello Team,
I am using Aws Mqttclient to communicate with AWS-IOT and communication is working fine. But sometimes when when there is not communication between device client and aws-iot then the communication is not working. I have enabled TCP-Keepalive with following props,

  1. keepalivetimeout of 600
  2. keepaliveInterval of 30
  3. Keepalivemaxprobes of 3

And also enabled keepalive time out in Mqttclient connection of 30.

I also checked the aws trace and mqttclient probes were sent once every 20seconds.

This seems to be strange because even if messages are not sent the keep alive concept should take care of pinging the server at regular intervals. Any help here would be appreciated.

I am using certificates for authentication and it says 1-2 weeks is the expiry.

I am also performing deviceShadow updates once every 1 minute this works no problem only the mqttclient communication is not working.

Expected Behavior

The client should be able to communicate even if no communication happens for a long time.

Current Behavior

Communication gets interrupted and reconnection also does not happen.

Reproduction Steps

  • Mqttclient sample code with certificate based authentication.
  • Perform connection send one message from device-client to aws-iot and also once message back from aws-iot to device-client, this will work.
  • Leave the connection idle for about 13 hours and then try sending one message from aws-iot to device client, this message does not reach the device.

Possible Solution

No response

Additional Information/Context

No response

SDK version used

aws-crt-cpp 0.26.9

Environment details (OS name and version, etc.)

embedded-linux

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugThis issue is a bug.needs-triageThis issue or PR still needs to be triaged.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions