apache / apache/pulsar

The Producer deliverAfter‘s time should use the broker's time

Open
#13,567 3 comments 0 reactions 0 assignees View on GitHub
lifecycle/stale Stale type/enhancement
Dominant language
Java
Stars
15.3k
Forks
3.8k
Avg merge
1d 14h
Merged PRs (30d)
160

Description

**Is your enhancement request related to a problem? Please describe.**
deliverAfter uses the time of the producer's host, If the time of the producer's host is less than that of the broker's host, the messages after deliverAfter will be sent immediately, at the same time, the internal implementation of reconsumerLater also uses deliverAfter. In this way, the messages will be received immediately after reconsumerLater, and the delayTime of reconsumerLater will not take effect The reverse is also problematic.

**Describe the solution you'd like**
The Producer deliverAfter‘s time use the broker's time.

Contributor guide

Open the contributing guide

Research direction

Start by tracing the Producer deliverAfter implementation and the internal reconsumerLater path, then inspect how producer and broker time are currently obtained. Done means deliverAfter uses broker time consistently and reconsumerLater honors its delay when host clocks differ.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
distributed-systems
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.