apache / apache/fluss

LogTieringTask#commitRemoteLogManifest() may block forever when coordinator failover

Open
#692 0 comments 0 reactions 0 assignees View on GitHub
component=rpc
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/alibaba/fluss/issues) and found nothing similar.

### Fluss version

0.6.0 (latest release)

### Please describe the bug 🐞

LogTieringTask#commitRemoteLogManifest() may block forever when coordinator failover.
It'll call method `coordinatorGateway.commitRemoteLogManifest(request).get()`, when coordinator server failover, the `get()` may block forever and will never return.

### Solution

TBH, I'm still wondering wy it'll block forever. Theoretical, when the coordinator server failover, the connection will break and cause the client return with a disconnection exception. But it may happen that it'll block and never return from phenomenon.

Anyway, #279 will introduce global timeout to solve the problem.

### Are you willing to submit a PR?

- [ ] I'm willing to submit a PR!

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by tracing LogTieringTask#commitRemoteLogManifest() and the coordinatorGateway.commitRemoteLogManifest(request).get() call, then review issue #279's proposed global timeout. Confirm the failover path can return rather than wait indefinitely, and verify the behavior with the relevant coordinator failover tests.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
distributed-systems
Issue type
Bug
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.