Skip to content

Saturated publish fairness #1000

@Indy2222

Description

@Indy2222

Rumqttc disables the default features of the flume dependency, which in turn disables its eventual-fairness feature flag. Therefore, I believe that when the maximum number of in-flight messages is reached, all publishing tasks start to race, and message ordering can become biased due to hard-to-predict factors (e.g., the OS thread scheduler). I suggest enabling the eventual-fairness feature flag to address this.

The dependency:

flume = { version = "0.11", default-features = false, features = ["async"] }

Flume feature flags:

https://github.com/zesterer/flume?tab=readme-ov-file#cargo-features

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions