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