Add tabletServerEpoch to prevent offline tabletServer send requests to coordinator and wrongly handle
- 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.
### Motivation
In #1142. We will introduce a new request of controlled shutdown, which will inform the `coordinatorServer` to migrate the bucket leader on this server through retries before the `tabletServer` goes offline. However, we need a mechanism to ensure that if an offline `tabletServer `sends a controlled shutdown request (abnormal situation), the `coordinatorServer` should ignore this request; otherwise, it would incorrectly take the leader on the new `tabletServer` offline.
### Solution
_No response_
### Anything else?
_No response_
### Willingness to contribute
- [ ] I'm willing to submit a PR!
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reading the controlled-shutdown work described in #1142 and tracing requests between the tabletServer and coordinatorServer. Determine where server epochs would be carried and checked, then verify that a request from an offline tabletServer is ignored without taking the replacement tabletServer's leader offline.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- distributed-systems
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100