Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug] Pop revive service may get stuck in infinitely retry of old epoch messages when a topic is deleted then recreated #8479

Closed
3 tasks done
redlsz opened this issue Aug 1, 2024 · 3 comments

Comments

@redlsz
Copy link
Contributor

redlsz commented Aug 1, 2024

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

all

RocketMQ version

develop

JDK Version

8

Describe the Bug

image

The request offset of old epoch is bigger than the current max queue offset. And the final impact is infinitely retry or end with reviving wrong messages.

Steps to Reproduce

See bug description

What Did You Expect to See?

See bug description

What Did You See Instead?

See bug description

Additional Context

No response

@lizhimins
Copy link
Member

这里应该是没区分获取消息失败还是位点无效

@redlsz
Copy link
Contributor Author

redlsz commented Aug 1, 2024

这里应该是没区分获取消息失败还是位点无效

是的,我理解获取消息返回 OFFSET_OVERFLOW_ONE 和 OFFSET_OVERFLOW_BADLY 时可以跳过了
另外为了避免重试旧的消息或丢消息(#7914) ,revive 流程可以根据 popTime 和最大长轮询时间做一个校验?

image

@redlsz
Copy link
Contributor Author

redlsz commented Aug 22, 2024

Fixed at #8475

@redlsz redlsz closed this as completed Aug 22, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
2 participants