Skip to content

[BUG] MCP tool-call timeout does not cancel the in-flight plugin chain #6889

Description

@Aias00

Description

The CONNACK session-present flag is hard-coded true for every connection, including the very first connect and clients with the clean-session flag set. Combined with the complete absence of session-state persistence (Disconnect.cleanChannel only touches ChannelRepository; Disconnect.java:39 carries // todo Clean session), the broker actively lies about stored session state.

Location

  • shenyu-protocol/shenyu-protocol-mqtt/src/main/java/org/apache/shenyu/protocol/mqtt/Connect.java:72

Impact

Violates MQTT-3.2.2-6/7. A client reconnecting with cleanSession=1 is told a session was present (must be 0); a first-time client is told the same.

Suggested fix

Set sessionPresent from the connect-flags cleanSession bit and stored session state (false when cleanSession=1 or no prior session).

Related existing

None.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions