HarperFast / HarperFast/harper

[Epic] Compaction & space reclamation semantics

Open
#2,115 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
JavaScript
Stars
89
Forks
10
Avg merge
2d 2h
Merged PRs (30d)
205

Description

When Harper reclaims disk space, when it doesn't, and whether the difference is intentional.

## Scope

**In:** compaction behavior and its accounting, tombstone reclamation after bulk delete or TTL churn, transaction-log retention, and which stores are eligible for compaction at all.

**Out:** the storage-reclamation *trigger* plumbing that decides when to run (largely rewired by #650), except where retention policy is the thing in question.

## Why

The open questions here are semantic before they're mechanical: whether space is reclaimed or merely reused is unresolved (#1384), whether transaction logs need a retention control independent of pressure signals is unresolved (#846), and #596 suggests the accounting we'd use to answer either may itself be wrong. Grouping them so the semantics get decided once, rather than three times in three different fixes.

_Created during backlog triage. Child issues keep their own priorities and milestones._

Contributor guide

Open the contributing guide

Research direction

Start by reviewing the child issues referenced in the epic, especially #1384, #846, and #596, along with the compaction and storage code they identify. Done means the reclamation, transaction-log retention, accounting, and store-eligibility semantics are resolved consistently; no specific file or test is named here.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, nodejs
Domain
databases
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.