cockroachdb / cockroachdb/pebble

db: limit EFOS sstable pinning to files overlapping bounds

Open
#3,500 1 comment 0 reactions 0 assignees View on GitHub
A-storage T-storage
Dominant language
Go
Stars
6k
Forks
584
Avg merge
16h 35m
Merged PRs (30d)
5

Description

Eventually file-only snapshots suffer additional space amplification by pinning a readState/`manifest.Version` until closed. This prevents any sstables in the version from being deleted. Since an EFOS indicates the bounds that it requires consistency over, we can avoid pinning sstables outside those bounds.

Jira issue: PEBBLE-100

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by tracing file-only EFOS snapshot handling around readState and manifest.Version, then inspect how sstables are pinned until the snapshot closes. Done means an EFOS pins only sstables whose ranges overlap its consistency bounds, while files outside those bounds can be deleted.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
database
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.