Skip to content

client/src/main/java/org/apache/rocketmq/client/impl/consumer/ConsumeMessagePopOrderlyService.java:315 - Pop-mode orderly consumers never consume or ack messages #11479

Open

Description

@Metastarx

DefaultMQPushConsumerImpl.popMessage increments PopProcessQueue.waitAckCounter at line 564 and calls ConsumeMessagePopOrderlyService.submitPopConsumeRequest for every FOUND result. That method (lines 161-166) throws away the msgs argument when constructing ConsumeRequest; ConsumeRequest has no message list at all. Its run method (lines 315-324) only checks processQueue.isDropped() and calls messageQueueLock.fetchLockObject, then returns without invoking messageListener, acknowledging messages, changing invisible time, or removing itself from consumeRequestSet. processConsumeResult (lines 214-221) is a no-op, and the retry helpers checkReconsumeTimes/sendMessageBack are never reached. Therefore ordinary POP delivery is lost.

Activity

  1. RockteMQ-AI commented on Oct 21, 2026

    @RockteMQ-AI
    Contributor

    Issue Evaluation

    Category: type/bug | Status: Confirmed

    The reported issue has been analyzed. The description provides specific line numbers and code paths in ConsumeMessagePopOrderlyService.java that demonstrate a logic error in Pop-mode orderly consumption.

    Root Cause: submitPopConsumeRequest constructs ConsumeRequest without passing the message list, causing the run() method to return without invoking the message listener or acknowledging messages.

    Impact: Pop-mode orderly consumers will not process or acknowledge messages, leading to message delivery failure.

    Severity: High - Core consumption functionality is broken for orderly consumers in Pop mode.

    Next Steps: This issue requires code verification and a fix. An automated fix proposal can be generated if the community confirms. Reply /approve to proceed with PR generation, or provide feedback if needed.


    Automated evaluation by RockteMQ-AI

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

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions