influxdata / influxdata/influxdb

Refactor SeriesFile into an Interface

Open
#23,508 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Rust
Stars
31.7k
Forks
3.7k
Avg merge
13h 37m
Merged PRs (30d)
8

Description

__Proposal:__
Refactor series file into an interface

__Current behavior:__
The current series file management we are using is a fixed type, rather than an interface.
If we can refactor it, we can implement our own custom series file.
![image](https://user-images.githubusercontent.com/8246969/176860631-4cfdcddf-c3fa-46d6-aeea-f4e9ae14e450.png)
I don't know why `Engine` and `Index` are interfaces but ignore `SeriesFile`. Even if we have a new TSDB engine, but we have to rely on this fixed `SeriesFile`

__Desired behavior:__
refactor series file into an interface

__Alternatives considered:__

__Use case:__
- customize series management, such as using some central service

Contributor guide

Open the contributing guide

Research direction

Start by locating SeriesFile and comparing how Engine and Index are represented as interfaces. Review the existing series-file management and its consumers; done means custom series-file implementations can be substituted without breaking current behavior.

Written by the indexing model from the issue text.

Assessment

Domain
databases
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.