Skip to content

Request for API support for requesting compaction and waiting for it to finish (feature request) #10428

@mdcallag

Description

@mdcallag

db_bench has flush, compact0 and compact1 commands to request flushing the memtable, compacting from L0->L1 and from L1->L2. It also has waitforcompaction to wait for compaction to finish.

MyRocks has similar commands where the SQL interface is to set a global variable:

set global rocksdb_force_flush_memtable_now=1
set global rocksdb_force_flush_memtable_and_lzero_now=1;

There are problems and I prefer that these be implemented within RocksDB:

  • MyRocks has a race in rocksdb_force_flush_memtable_and_lzero_now, see here.
  • waitforcompaction in db_bench works for leveled but has intermittent hangs for universal
  • some of the db_bench commands have had bugs -- I know because I am the author of those bugs

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions