dotnet / dotnet/MQTTnet

Subscriber stops receiving mid-run with QoS2 and 200KB payloads (still connected, no errors)

Open
#2,234 0 comments 0 reactions 0 assignees View on GitHub
bug
Dominant language
C#
Stars
5.1k
Forks
1.2k
PR merge metrics
No merged PRs in 30d

Description

### Describe the bug
MQTTnet client subscriber stops receiving additional messages mid-run under QoS2 + large payload load while remaining connected. Broker reports all messages acknowledged.

### Which component is your bug related to?
- Client

### To Reproduce
I’ve added the scripts used to reproduce the issue in this repository: https://github.com/ooredm/mqtt-bug
- A Python publisher
- An MQTTnet-based listener
- Alternative listener implementations using HiveMQ and paho-mqtt

In my test run, I published 10,000 messages with a payload size of 200,000 bytes each.

I’m aware that the payload size is relatively large. However, it reliably reproduces the issue, and I would still expect this scenario to work correctly.

Using this setup as an example:
- The MQTTnet listener receives 7,229 messages
- The paho-mqtt listener receives 10,000 messages
- The HiveMQ listener receives 10,000 messages

### Expected behavior
Subscriber continues receiving until it reaches the published message count (10,000).

### Additional context / logging
MQTTnet version used: 5.1.0.1559
.NET SDK: 10.0.102
OS: Windows 10.0.22631 (win-x64)
Broker: Mosquitto 2.1.2, default config

### Code example
https://github.com/ooredm/mqtt-bug

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.