datafusion-contrib / datafusion-contrib/liquid-cache

Cache Eviction strategy for disk storage

Open
#264 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Rust
Stars
452
Forks
51
Avg merge
3h 10m
Merged PRs (30d)
12

Description

Currently the budgeting logic does not bound the disk size:

pub(super) struct BudgetAccounting {
    max_memory_bytes: usize,
    used_memory_bytes: AtomicUsize,
    used_disk_bytes: AtomicUsize,
}

We should build the logic for maximum disk size into the Cache as well.

Also I was thinking we can have an TTL based strategy for disk cache as well. Though for that we will need to have a separate thread in background which can keep on cleaning the expired files.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the Cache budgeting logic and the BudgetAccounting struct shown in the issue, then trace how disk usage is tracked. Define how maximum disk size should be enforced and whether TTL cleanup belongs in a background thread; done should include bounded disk usage and an agreed, tested expiration strategy.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
backend, performance
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.