Skip to content

[Bug] Proxy remoting expired request cleanup silently swallows exceptions #10806

Description

@Aias00

Problem

RemotingProtocolServer.cleanExpiredRequestInQueue catches Throwable and ignores it while staying inside a while (true) cleanup loop. If queue inspection, task casting, or response cleanup repeatedly throws, the failure is invisible and the cleaner can keep looping without actionable diagnostics.

Code evidence

  • proxy/src/main/java/org/apache/rocketmq/proxy/remoting/RemotingProtocolServer.java: cleanExpiredRequestInQueue wraps the queue cleanup loop in catch (Throwable ignored) {}.

Impact

Proxy operators lose the diagnostic signal for expired request cleanup failures. In the worst case, repeated exceptions can hide queue cleanup failure or cause avoidable loop churn, which works against Proxy Admin/runtime diagnostics and remoting observability.

Expected behavior

The cleanup path should log a compact warning with queue context and stop the current cleanup pass after an unexpected exception, rather than swallowing the error silently.

Scope

RocketMQ Studio track 2 / Proxy Admin runtime diagnostics and Proxy remoting observability.

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