Skip to content

[Bug] python客户端,多 master 无 slave,无压力,概率出现分钟级delay #9145

Open
@eigen2017

Description

@eigen2017

Before Creating the Bug Report

  • I found a bug, not just asking a question, which should be created in GitHub Discussions.

  • I have searched the GitHub Issues and GitHub Discussions of this repository and believe that this is not a duplicate.

  • I have confirmed that this bug belongs to the current repository, not other repositories of RocketMQ.

Runtime platform environment

ubuntu

RocketMQ version

5.3.1

JDK Version

Java8

Describe the Bug

2个master分摊消息,无slave
采用python客户端:https://github.com/apache/rocketmq-clients
topic:normal类型
1个消费者:循环调用simpleConsumer.receive来接收消息
1个生产者:调用producer.send来发送消息。
流量压力:无任何流量,仅手动测试。
master的flushDiskType已经都设成同步。

问题:概率的,生产者生产之消息之后,延迟半分钟到2分钟,消费者才消费到消息,
且在delay期间:消费者调用了receive函数多次无果。dashboard上查topic的consumer状态是delay 1条消息。
也就是说,master收到了消息,消费者一直尝试消费,但是消费者一直没有消费到。

规避:采用1个master,无此问题。
或者采用1个master,1个slave,无此问题。
多master,每master配备slave,有此问题。
多master,无slave,有此问题。
即仅在多个master分摊流量时,有此问题。

Steps to Reproduce

见bug描述

What Did You Expect to See?

mq的含义是实时消费,不管在任何组网下,单发测试都不能有分钟级的延迟。

期待多个master分摊消息,消费者组中消费者的数量任意,在此情况下,依然保持消息能实时消费。

What Did You See Instead?

另希望介绍一下normal类型topic的普通消费机制
猜测本问题,是否是因为:消费者某一时刻仅能监听1个master?如果有多个master,该消费者会在master之间切换队列,导致延迟?
如果是这样,请给出解决方案。

Additional Context

No response

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