Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Expired messages only delete when connected (IDFGH-12831) #278

Closed
Totrasmek opened this issue May 17, 2024 · 0 comments
Closed

Expired messages only delete when connected (IDFGH-12831) #278

Totrasmek opened this issue May 17, 2024 · 0 comments

Comments

@Totrasmek
Copy link
Contributor

Description

The client only deletes messages who have been in the outbox for more than mqtt_delete_expired_messages in the esp_mqtt_task when the state is MQTT_STATE_CONNECTED. This can pose an issue when esp_mqtt_client_enqueue is being used, causing the outbox to grow without bound if the client is not connected.

Code section

mqtt-client.c line 1667

// delete long pending messages
mqtt_delete_expired_messages(client);

Suggestion

The mqtt_delete_expired_messages method could instead be called at the beginning of the client run esp_mqtt_task's while (client->run) loop.

@github-actions github-actions bot changed the title Expired messages only delete when connected Expired messages only delete when connected (IDFGH-12831) May 17, 2024
espressif-bot pushed a commit to espressif/esp-idf that referenced this issue Jun 17, 2024
git log --oneline aa6f889fb4f6f743b3a550aa587713aabbdca1fc..cac1552e62b0474c162547b7cce345d7cd1aecfe

Detailed description of the changes:
* fix: clang analyzer unknown pragma warning
  - See merge request espressif/esp-mqtt!215
  - See commit espressif/esp-mqtt@6bb5a5b
* fix: gcc analyzer unknown pragma warning
  - See merge request espressif/esp-mqtt!214
  - See commit espressif/esp-mqtt@b527203
* feat: Moves deletion of expired messages to run at all states
  - Closes IDFGH-12831
  - Closes espressif/esp-mqtt#278
  - See commit espressif/esp-mqtt@32dada4
* fix: Handling of state in the outbox for enqueued QoS 0 messages
  - Closes IDFGH-12829
  - Closes espressif/esp-mqtt#276
  - See commit espressif/esp-mqtt@739cb2d
* fix: Instalation of gcovr in host tests was broken
  - See merge request espressif/esp-mqtt!211
  - See commit espressif/esp-mqtt@6643c49
* Allow to publish using only topic alias on MQTT5
  - Closes IDFGH-12735
  - Fix: Allow to publish using only topic alias on MQTT5 (espressif/esp-mqtt@0071aca)
* refactor: replaced heap mock with Linux-compatible heap component
  - See merge request espressif/esp-mqtt!208
  - See commit espressif/esp-mqtt@8b0b43e
* fix: gcc -fanalyzer warnings
  - See merge request espressif/esp-mqtt!209
  - See commit espressif/esp-mqtt@8bc3bff
* fix: Use catch from component manager
  - See merge request espressif/esp-mqtt!210
  - See commit espressif/esp-mqtt@53e0cc7
* fix: Fix host test for github ci.
  - Closes IDF-8883
  - See commit espressif/esp-mqtt@b43d93c
espressif-bot pushed a commit to espressif/esp-idf that referenced this issue Aug 21, 2024
git log --oneline aa6f889fb4f6f743b3a550aa587713aabbdca1fc..cac1552e62b0474c162547b7cce345d7cd1aecfe

Detailed description of the changes:
* fix: clang analyzer unknown pragma warning
  - See merge request espressif/esp-mqtt!215
  - See commit espressif/esp-mqtt@6bb5a5b
* fix: gcc analyzer unknown pragma warning
  - See merge request espressif/esp-mqtt!214
  - See commit espressif/esp-mqtt@b527203
* feat: Moves deletion of expired messages to run at all states
  - Closes IDFGH-12831
  - Closes espressif/esp-mqtt#278
  - See commit espressif/esp-mqtt@32dada4
* fix: Handling of state in the outbox for enqueued QoS 0 messages
  - Closes IDFGH-12829
  - Closes espressif/esp-mqtt#276
  - See commit espressif/esp-mqtt@739cb2d
* fix: Instalation of gcovr in host tests was broken
  - See merge request espressif/esp-mqtt!211
  - See commit espressif/esp-mqtt@6643c49
* Allow to publish using only topic alias on MQTT5
  - Closes IDFGH-12735
  - Fix: Allow to publish using only topic alias on MQTT5 (espressif/esp-mqtt@0071aca)
* refactor: replaced heap mock with Linux-compatible heap component
  - See merge request espressif/esp-mqtt!208
  - See commit espressif/esp-mqtt@8b0b43e
* fix: gcc -fanalyzer warnings
  - See merge request espressif/esp-mqtt!209
  - See commit espressif/esp-mqtt@8bc3bff
* fix: Use catch from component manager
  - See merge request espressif/esp-mqtt!210
  - See commit espressif/esp-mqtt@53e0cc7
* fix: Fix host test for github ci.
  - Closes IDF-8883
  - See commit espressif/esp-mqtt@b43d93c
espressif-bot pushed a commit to espressif/esp-idf that referenced this issue Aug 22, 2024
git log --oneline aa6f889fb4f6f743b3a550aa587713aabbdca1fc..cac1552e62b0474c162547b7cce345d7cd1aecfe

Detailed description of the changes:
* fix: clang analyzer unknown pragma warning
  - See merge request espressif/esp-mqtt!215
  - See commit espressif/esp-mqtt@6bb5a5b
* fix: gcc analyzer unknown pragma warning
  - See merge request espressif/esp-mqtt!214
  - See commit espressif/esp-mqtt@b527203
* feat: Moves deletion of expired messages to run at all states
  - Closes IDFGH-12831
  - Closes espressif/esp-mqtt#278
  - See commit espressif/esp-mqtt@32dada4
* fix: Handling of state in the outbox for enqueued QoS 0 messages
  - Closes IDFGH-12829
  - Closes espressif/esp-mqtt#276
  - See commit espressif/esp-mqtt@739cb2d
* fix: Instalation of gcovr in host tests was broken
  - See merge request espressif/esp-mqtt!211
  - See commit espressif/esp-mqtt@6643c49
* Allow to publish using only topic alias on MQTT5
  - Closes IDFGH-12735
  - Fix: Allow to publish using only topic alias on MQTT5 (espressif/esp-mqtt@0071aca)
* refactor: replaced heap mock with Linux-compatible heap component
  - See merge request espressif/esp-mqtt!208
  - See commit espressif/esp-mqtt@8b0b43e
* fix: gcc -fanalyzer warnings
  - See merge request espressif/esp-mqtt!209
  - See commit espressif/esp-mqtt@8bc3bff
* fix: Use catch from component manager
  - See merge request espressif/esp-mqtt!210
  - See commit espressif/esp-mqtt@53e0cc7
* fix: Fix host test for github ci.
  - Closes IDF-8883
  - See commit espressif/esp-mqtt@b43d93c
espressif-bot pushed a commit to espressif/esp-idf that referenced this issue Sep 11, 2024
git log --oneline aa6f889fb4f6f743b3a550aa587713aabbdca1fc..cac1552e62b0474c162547b7cce345d7cd1aecfe

Detailed description of the changes:
* fix: clang analyzer unknown pragma warning
  - See merge request espressif/esp-mqtt!215
  - See commit espressif/esp-mqtt@6bb5a5b
* fix: gcc analyzer unknown pragma warning
  - See merge request espressif/esp-mqtt!214
  - See commit espressif/esp-mqtt@b527203
* feat: Moves deletion of expired messages to run at all states
  - Closes IDFGH-12831
  - Closes espressif/esp-mqtt#278
  - See commit espressif/esp-mqtt@32dada4
* fix: Handling of state in the outbox for enqueued QoS 0 messages
  - Closes IDFGH-12829
  - Closes espressif/esp-mqtt#276
  - See commit espressif/esp-mqtt@739cb2d
* fix: Instalation of gcovr in host tests was broken
  - See merge request espressif/esp-mqtt!211
  - See commit espressif/esp-mqtt@6643c49
* Allow to publish using only topic alias on MQTT5
  - Closes IDFGH-12735
  - Fix: Allow to publish using only topic alias on MQTT5 (espressif/esp-mqtt@0071aca)
* refactor: replaced heap mock with Linux-compatible heap component
  - See merge request espressif/esp-mqtt!208
  - See commit espressif/esp-mqtt@8b0b43e
* fix: gcc -fanalyzer warnings
  - See merge request espressif/esp-mqtt!209
  - See commit espressif/esp-mqtt@8bc3bff
* fix: Use catch from component manager
  - See merge request espressif/esp-mqtt!210
  - See commit espressif/esp-mqtt@53e0cc7
* fix: Fix host test for github ci.
  - Closes IDF-8883
  - See commit espressif/esp-mqtt@b43d93c
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants