Skip to content

Commit

Permalink
Sub config parsing
Browse files Browse the repository at this point in the history
  • Loading branch information
JaySon-Huang committed Oct 14, 2022
1 parent f81cca5 commit 69167bf
Show file tree
Hide file tree
Showing 4 changed files with 29 additions and 26 deletions.
14 changes: 14 additions & 0 deletions dbms/src/Storages/Page/V3/Blob/BlobConfig.h
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
#pragma once

#include <Interpreters/SettingsCommon.h>
#include <Storages/Page/Config.h>
#include <Storages/Page/PageDefines.h>
#include <Storages/Page/V3/spacemap/SpaceMap.h>
#include <common/defines.h>
Expand All @@ -41,5 +42,18 @@ struct BlobConfig
block_alignment_bytes,
heavy_gc_valid_rate);
}

static BlobConfig from(const PageStorageConfig & config)
{
BlobConfig blob_config;

blob_config.file_limit_size = config.blob_file_limit_size;
blob_config.cached_fd_size = config.blob_cached_fd_size;
blob_config.spacemap_type = config.blob_spacemap_type;
blob_config.heavy_gc_valid_rate = config.blob_heavy_gc_valid_rate;
blob_config.block_alignment_bytes = config.blob_block_alignment_bytes;

return blob_config;
}
};
} // namespace DB::PS::V3
7 changes: 4 additions & 3 deletions dbms/src/Storages/Page/V3/PageStorageImpl.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
#include <Storages/Page/V3/PageDirectoryFactory.h>
#include <Storages/Page/V3/PageEntriesEdit.h>
#include <Storages/Page/V3/PageStorageImpl.h>
#include <Storages/Page/V3/WAL/WALConfig.h>
#include <Storages/PathPool.h>
#include <common/logger_useful.h>

Expand All @@ -43,7 +44,7 @@ PageStorageImpl::PageStorageImpl(
const FileProviderPtr & file_provider_)
: DB::PageStorage(name, delegator_, config_, file_provider_)
, log(Logger::get("PageStorage", name))
, blob_store(name, file_provider_, delegator, parseBlobConfig(config_))
, blob_store(name, file_provider_, delegator, BlobConfig::from(config_))
{
LOG_INFO(log, "PageStorageImpl start. Config{{ {} }}", config.toDebugStringV3());
}
Expand All @@ -52,7 +53,7 @@ PageStorageImpl::~PageStorageImpl() = default;

void PageStorageImpl::reloadConfig()
{
blob_store.reloadConfig(parseBlobConfig(config));
blob_store.reloadConfig(BlobConfig::from(config));
}

void PageStorageImpl::restore()
Expand All @@ -64,7 +65,7 @@ void PageStorageImpl::restore()
PageDirectoryFactory factory;
page_directory = factory
.setBlobStore(blob_store)
.create(storage_name, file_provider, delegator, parseWALConfig(config));
.create(storage_name, file_provider, delegator, WALConfig::from(config));
}

PageId PageStorageImpl::getMaxId()
Expand Down
23 changes: 0 additions & 23 deletions dbms/src/Storages/Page/V3/PageStorageImpl.h
Original file line number Diff line number Diff line change
Expand Up @@ -38,29 +38,6 @@ class PageStorageImpl : public DB::PageStorage

~PageStorageImpl() override;

static BlobConfig parseBlobConfig(const PageStorageConfig & config)
{
BlobConfig blob_config;

blob_config.file_limit_size = config.blob_file_limit_size;
blob_config.cached_fd_size = config.blob_cached_fd_size;
blob_config.spacemap_type = config.blob_spacemap_type;
blob_config.heavy_gc_valid_rate = config.blob_heavy_gc_valid_rate;
blob_config.block_alignment_bytes = config.blob_block_alignment_bytes;

return blob_config;
}

static WALConfig parseWALConfig(const PageStorageConfig & config)
{
WALConfig wal_config;

wal_config.roll_size = config.wal_roll_size;
wal_config.max_persisted_log_files = config.wal_max_persisted_log_files;

return wal_config;
}

void reloadConfig() override;

void restore() override;
Expand Down
11 changes: 11 additions & 0 deletions dbms/src/Storages/Page/V3/WAL/WALConfig.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@

#include <Common/Exception.h>
#include <Interpreters/SettingsCommon.h>
#include <Storages/Page/Config.h>
#include <Storages/Page/PageDefines.h>
#include <Storages/Page/WALRecoveryMode.h>

Expand Down Expand Up @@ -45,6 +46,16 @@ struct WALConfig
{
return static_cast<WALRecoveryMode>(wal_recover_mode.get());
}

static WALConfig from(const PageStorageConfig & config)
{
WALConfig wal_config;

wal_config.roll_size = config.wal_roll_size;
wal_config.max_persisted_log_files = config.wal_max_persisted_log_files;

return wal_config;
}
};

} // namespace DB::PS::V3

0 comments on commit 69167bf

Please sign in to comment.