apache / apache/rocketmq

[Enhancement] Preserve suspend flag when rewriting POP revive retry records

Open
#10,465 2 comments 0 reactions 0 assignees View on GitHub
type/enhancement
Dominant language
Java
Stars
22.6k
Forks
12k
Avg merge
3d 1h
Merged PRs (30d)
27

Description

### Before Creating the Enhancement Request

- [x] I have confirmed that this should be classified as an enhancement rather than a bug/feature.

### Summary

Preserve the POP suspend flag when revive retry records are rewritten or converted, so suspended retries do not later increment reconsumeTimes as normal retries.

### Motivation

Some POP revive paths rebuild PopConsumerRecord or PopCheckPoint during backoff/retry handling. If suspend is not copied, it defaults to false and changes the retry semantics.

### Describe the Solution You'd Like

Copy suspend in the POP revive backoff rewrite paths and KV-to-FS transfer path, with regression tests covering the rewritten records/checkpoints.

### Describe Alternatives You've Considered

No

### Additional Context

_No response_

Contributor guide

Open the contributing guide

Research direction

Search for PopConsumerRecord and PopCheckPoint construction in the POP revive backoff rewrite paths and the KV-to-FS transfer path. Review the existing regression tests first; done means rewritten records and checkpoints retain the suspend flag and the new tests pass.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
backend, distributed-systems
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.