2

我的启动方法:

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);

我的关机方法:

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

但是关闭完成后,我仍然收到mergestack underrocksdb::DBImpl::BGWorkCompaction(void * arg)的请求,这当然会失败,因为所有列族句柄都已被处理掉。

如何标记任何压实或冲洗以停止?删除数据库实例似乎还不够。

4

0 回答 0