facebook / facebook/rocksdb

Add `strict_capacity_limit` block cache option to stress/crash tests

Open
#7,559 1 comment 0 reactions 0 assignees View on GitHub
enhancement up-for-grabs
Dominant language
C++
Stars
32.1k
Forks
6.9k
Avg merge
32m
Merged PRs (30d)
1

Description

As we learned recently with bugs in index partition pinning, there may be bugs when a subset of reads go through block cache. One way that we might expose such bugs is by adding `strict_capacity_limit` to stress/crash tests to make block insertions fail at essentially arbitrary points. This would also give us confidence that our handling of block cache insertion failures is correct.

This issue requires some investigation. It's unknown whether flush/compaction can succeed in case of a full block cache with `strict_capacity_limit == true`. It's also unclear how to retry a user operation after it fails due to full block cache (maybe `ReadOptions::fill_cache == false`?).

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.