Ensure recreated tables use the same settings as ones made at boot
This commit is contained in:
parent
b011bcbe93
commit
343c47a935
@ -132,7 +132,8 @@ size_t RocksDBStorageProvider::clear()
|
|||||||
auto strName = m_spcolfamily->GetName();
|
auto strName = m_spcolfamily->GetName();
|
||||||
|
|
||||||
rocksdb::ColumnFamilyHandle *handle = nullptr;
|
rocksdb::ColumnFamilyHandle *handle = nullptr;
|
||||||
m_spdb->CreateColumnFamily(rocksdb::ColumnFamilyOptions(), strName, &handle);
|
rocksdb::ColumnFamilyOptions cf_options(m_pfactory->RocksDbOptions());
|
||||||
|
m_spdb->CreateColumnFamily(cf_options, strName, &handle);
|
||||||
m_spcolfamily = std::shared_ptr<rocksdb::ColumnFamilyHandle>(handle);
|
m_spcolfamily = std::shared_ptr<rocksdb::ColumnFamilyHandle>(handle);
|
||||||
|
|
||||||
if (!status.ok())
|
if (!status.ok())
|
||||||
|
@ -24,6 +24,8 @@ public:
|
|||||||
virtual size_t filedsRequired() const override;
|
virtual size_t filedsRequired() const override;
|
||||||
std::string getTempFolder();
|
std::string getTempFolder();
|
||||||
|
|
||||||
|
rocksdb::Options RocksDbOptions();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void setVersion(rocksdb::ColumnFamilyHandle*);
|
void setVersion(rocksdb::ColumnFamilyHandle*);
|
||||||
};
|
};
|
@ -39,6 +39,17 @@ IStorageFactory *CreateRocksDBStorageFactory(const char *path, int dbnum, const
|
|||||||
return new RocksDBStorageFactory(path, dbnum, rgchConfig, cchConfig);
|
return new RocksDBStorageFactory(path, dbnum, rgchConfig, cchConfig);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
rocksdb::Options RocksDBStorageFactory::RocksDbOptions()
|
||||||
|
{
|
||||||
|
rocksdb::Options options = DefaultRocksDBOptions();
|
||||||
|
options.max_open_files = filedsRequired();
|
||||||
|
options.sst_file_manager = m_pfilemanager;
|
||||||
|
options.create_if_missing = true;
|
||||||
|
options.create_missing_column_families = true;
|
||||||
|
options.info_log_level = rocksdb::ERROR_LEVEL;
|
||||||
|
return options;
|
||||||
|
}
|
||||||
|
|
||||||
RocksDBStorageFactory::RocksDBStorageFactory(const char *dbfile, int dbnum, const char *rgchConfig, size_t cchConfig)
|
RocksDBStorageFactory::RocksDBStorageFactory(const char *dbfile, int dbnum, const char *rgchConfig, size_t cchConfig)
|
||||||
: m_path(dbfile)
|
: m_path(dbfile)
|
||||||
{
|
{
|
||||||
@ -56,14 +67,10 @@ RocksDBStorageFactory::RocksDBStorageFactory(const char *dbfile, int dbnum, cons
|
|||||||
|
|
||||||
m_pfilemanager = std::shared_ptr<rocksdb::SstFileManager>(rocksdb::NewSstFileManager(rocksdb::Env::Default()));
|
m_pfilemanager = std::shared_ptr<rocksdb::SstFileManager>(rocksdb::NewSstFileManager(rocksdb::Env::Default()));
|
||||||
|
|
||||||
rocksdb::Options options = DefaultRocksDBOptions();
|
|
||||||
options.max_open_files = filedsRequired();
|
|
||||||
options.sst_file_manager = m_pfilemanager;
|
|
||||||
options.create_if_missing = true;
|
|
||||||
options.create_missing_column_families = true;
|
|
||||||
options.info_log_level = rocksdb::ERROR_LEVEL;
|
|
||||||
rocksdb::DB *db = nullptr;
|
rocksdb::DB *db = nullptr;
|
||||||
|
|
||||||
|
auto options = RocksDbOptions();
|
||||||
|
|
||||||
for (int idb = 0; idb < dbnum; ++idb)
|
for (int idb = 0; idb < dbnum; ++idb)
|
||||||
{
|
{
|
||||||
rocksdb::ColumnFamilyOptions cf_options(options);
|
rocksdb::ColumnFamilyOptions cf_options(options);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user