Skip to content

Remote Compaction: Can OpenAndCompact work with only input SST files? #14216

@viralmehta-stripe

Description

@viralmehta-stripe

We're implementing remote compaction where SST files are transferred from the primary to a compaction worker (no shared storage).

What we want: Transfer only the input SST files (that need to be compacted) specified in CompactionServiceInput, run compaction on the worker, and return the output SST files.

What happens: OpenAndCompact() fails because it opens the DB as secondary and verifies that ALL files in the MANIFEST exist, not just the input files for the compaction job.

Error: Invalid argument: Cannot find matched SST files for the following file numbers: 15 17 19

Is there a way to run OpenAndCompact() with only the input SST files present? Or an alternative API that allows compacting a subset of SST files and producing a valid CompactionServiceResult?

cc: @jaykorean

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions