apache / apache/fluss

[Feature] Fluss client support to pin/unpin snapshot

Open
#71 0 comments 0 reactions 0 assignees View on GitHub
component=client component=server
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.