Skip to main content

MergePolicy

Trait MergePolicy 

Source
pub trait MergePolicy: Send + Debug {
    // Required method
    fn select_merge(&self, candidates: &[PathBuf]) -> Result<Vec<PathBuf>>;
}
Expand description

Trait for merge policy implementations (M5.2, Issue #383)

A merge policy decides which SSTables should be compacted together. This trait allows different compaction strategies (STCS, LCS, TWCS, etc.) to be plugged into the WriteEngine.

Required Methods§

Source

fn select_merge(&self, candidates: &[PathBuf]) -> Result<Vec<PathBuf>>

Select SSTables for the next compaction

§Arguments
  • candidates - Available SSTable paths in the data directory
§Returns

Paths to SSTables that should be merged, ordered newest to oldest. Returns empty Vec if no compaction is needed.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§

Source§

impl MergePolicy for STCSPolicy

Available on crate feature write-support only.