2

My start up method:

vector<ColumnFamilyDescriptor> columnFamilies = ...
DBOptions dbOptions(options);
std::vector<int32_t> ttls = ...
DBWithTTL* _db;
std::vector<ColumnFamilyHandle*> _handles;
Status status = DBWithTTL::Open(dbOptions, WORKING_DIRECTORY, columnFamilies, &_handles, &_db, ttls, false);

My shutdown method:

for (auto handle : _handles) {
    delete handle;
}
delete _db->GetBaseDB();

But after shutdown is completed, I'm still getting merge requests with stack under rocksdb::DBImpl::BGWorkCompaction(void * arg), which of course fail because all column family handles were disposed of.

How can I mark any compaction or flushing to stop? Deleting db instance doesn't seem to be enough.

Mugen
  • 8,301
  • 10
  • 62
  • 140

0 Answers0