[Feature] Fluss client support to pin/unpin snapshot
- 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
Currently, for primary key table, Fluss will read the kv snapshot. But it brings a problem that while reading the snapshot, we may expire some files in the snapshot which will cause snapshot reading fail.
Although user can set configuration `kv.snapshot.num-retained`(1 by default) to a larger value, it may not user friendly.
### Solution
Support fluss client to pin a snapshot so that we won't expire any files in this snapshot.
### 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 locating the Fluss client APIs for reading primary-key table KV snapshots and the handling of kv.snapshot.num-retained. Trace how snapshot files are expired during reads, then determine the client-facing pin and unpin behavior and how completion should prevent expiration of the pinned snapshot.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- databases
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100