[server] complete delayed fetch operations after produce to reduce fetch latency
- Dominant language
- Java
- Stars
- 2.1k
- Forks
- 625
- Avg merge
- 3d 14h
- Merged PRs (30d)
- 97
Description
### Search before asking
- [x] I searched in the [issues](https://github.com/apache/fluss/issues) and found nothing similar.
### Description
### Problem:
Currently, when a TabletServer processes a produce request (appendRecordsToLog), it does not proactively trigger completion checks for pending delayed fetch operations. Delayed fetch requests (e.g., from followers or consumers waiting for new data) can only be completed by timeout or by a subsequent passive checkAndComplete call. This means that even after data has been successfully written, waiting fetch requests still experience unnecessary latency before receiving the new data.
### Expected Behavior:
After a successful produce, the server should immediately attempt to complete any delayed fetch operations that are waiting on the affected buckets, minimizing fetch latency for followers and consumers.
### Willingness to contribute
- [x] I'm willing to submit a PR!
Contributor guide
No contributing guide indexed for this repository
Research direction
Start at the TabletServer appendRecordsToLog path and trace how delayed fetch operations are checked through checkAndComplete. Identify the affected buckets and the existing completion flow, then verify that a successful produce immediately attempts completion for waiting followers or consumers and that fetch latency is reduced without relying on timeout.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- backend, distributed-systems
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 58/100