kakao / kakao/varlog

client: implement API to get the front and back of logs in a topic

Open
#232 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Go
Stars
53
Forks
7
PR merge metrics
No merged PRs in 30d

Description

Sometimes we want to know the front and back of logs in a topic without fetching anything. For example, clients can subscribe to logs starting from either the first log entry sequence number or the last log entry sequence number.

Possible limitations of this API

- Stale information: Since the end of logs is growing continuously, the back can be less than the recent one. The Trim API can also remove the front of logs.
- Temporarily unavailable: This API cannot determine the front and back of the topic even if at least one of the log streams in a topic cannot return its low watermark and high watermark correctly. This situation hardly occurs since, to do that, all replicas in a log stream either should not be accessed or should not know their last committed log.

Contributor guide

Open the contributing guide

Research direction

No files, tests, or entry points are named. Start by locating the Go client APIs for topics and log-stream watermarks, then trace how low and high watermarks are obtained; done means an API reports the topic's front and back without fetching entries and reflects the stated unavailable and stale-information limitations.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
api, distributed-systems
Issue type
Feature
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.