eclipse-paho / eclipse-paho/paho.mqtt.java

When using "deleteOldestMessages" on DisconnectedBuffer, messages are removed without onFailure called

Open
#851 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
2.3k
Forks
919
PR merge metrics
No merged PRs in 30d

Description

- [x] Bug exists Release Version 1.2.5 ( Master Branch)
- [x] Bug exists in MQTTv3 Client on Snapshot Version 1.2.6-SNAPSHOT (Develop Branch)
- [x] Bug exists in MQTTv5 Client on Snapshot Version 1.2.6-SNAPSHOT (Develop Branch)

When using `setDeleteOldestMessages(true)` and the buffer overflows, then the old messages are removed without the onFailure callback is called. So there is no possibility to handle (or at least log) this event.

Contributor guide

Open the contributing guide

Research direction

Start by locating DisconnectedBuffer and trace the setDeleteOldestMessages(true) overflow path, then inspect how onFailure is handled for removed messages. Reproduce the buffer-overflow case on the MQTTv3 and MQTTv5 clients mentioned in the report, and confirm that the expected onFailure callback is invoked for messages discarded by the oldest-message policy.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
networking
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.