Skip to content

v1.3.2

Compare
Choose a tag to compare
@mochi-co mochi-co released this 02 Sep 20:16
b2fc287

What's Changed

  • Provides a fix for new data races in inflight messages system by @mochi-co in #99 and @muXxer in #96
  • Increased size of InlineMessages publish buffer from 1024 to 4096 in light of #95 by @mochi-co

Full Changelog: v1.3.1...v1.3.2


This issue does not effect users in controlled environments who do not use QOS values higher than 0, but users who do should upgrade to this release at the soonest possible convenience.

This patch release addresses an issue #98 and #96 in which a data race introduced by #90 when the primary server routine and client routines attempted to access the client inflight messages map at the same time, causing fatal errors.

The issue was reproduced placing the server under heavy load with inovex/mqtt-stresser, using qos=2 for both the publisher and subscriber (see #98).

Profiling the solution before and after shows a small but negligible reduction in mallocs (good thing). When running the above mentioned stress tests, no data races or crashes are detected.

With many thanks to @muXxer for identifying the issue and providing a potential solution in #96

Tests

  • Builds
  • Unit Tests Passing
  • PAHO Interoperability Passing