Skip to content

Commit

Permalink
Merge branch 'master' into master
Browse files Browse the repository at this point in the history
  • Loading branch information
AntiTopQuark authored Aug 15, 2022
2 parents 6757ef8 + 4888272 commit 003009a
Show file tree
Hide file tree
Showing 4 changed files with 29 additions and 1 deletion.
2 changes: 2 additions & 0 deletions dbms/src/Storages/DeltaMerge/workload/DTWorkload.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,8 @@ DB::Settings createSettings(const WorkloadOptions & opts)
config->add(new DB::TOMLConfiguration(table), /*shared=*/false); // Take ownership of TOMLConfig
settings.setProfile("default", *config);
}

settings.dt_enable_read_thread = opts.enable_read_thread;
return settings;
}

Expand Down
18 changes: 18 additions & 0 deletions dbms/src/Storages/DeltaMerge/workload/MainEntry.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,10 @@

#include <Common/Exception.h>
#include <Common/Logger.h>
#include <Server/ServerInfo.h>
#include <Storages/DeltaMerge/ReadThread/ColumnSharingCache.h>
#include <Storages/DeltaMerge/ReadThread/SegmentReadTaskScheduler.h>
#include <Storages/DeltaMerge/ReadThread/SegmentReader.h>
#include <Storages/DeltaMerge/workload/DTWorkload.h>
#include <Storages/DeltaMerge/workload/Handle.h>
#include <Storages/DeltaMerge/workload/Options.h>
Expand Down Expand Up @@ -249,6 +253,14 @@ void dailyRandomTest(WorkloadOptions & opts)
}
}

void initReadThread()
{
DB::ServerInfo server_info;
DB::DM::SegmentReaderPoolManager::instance().init(server_info);
DB::DM::SegmentReadTaskScheduler::instance();
DB::DM::DMFileReaderPool::instance();
}

int DTWorkload::mainEntry(int argc, char ** argv)
{
WorkloadOptions opts;
Expand All @@ -270,6 +282,12 @@ int DTWorkload::mainEntry(int argc, char ** argv)

// For mixed mode, we need to run the test in ONLY_V2 mode first.
TiFlashTestEnv::initializeGlobalContext(opts.work_dirs, opts.ps_run_mode == PageStorageRunMode::ONLY_V3 ? PageStorageRunMode::ONLY_V3 : PageStorageRunMode::ONLY_V2, opts.bg_thread_count);

if (opts.enable_read_thread)
{
initReadThread();
}

if (opts.testing_type == "daily_perf")
{
dailyPerformanceTest(opts);
Expand Down
8 changes: 7 additions & 1 deletion dbms/src/Storages/DeltaMerge/workload/Options.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,8 @@ std::string WorkloadOptions::toString(std::string seperator) const
fmt::format("bg_thread_count {}{}", bg_thread_count, seperator) + //
fmt::format("table_id {}{}", table_id, seperator) + //
fmt::format("table_name {}{}", table_name, seperator) + //
fmt::format("is_fast_mode {}{}", is_fast_mode, seperator);
fmt::format("is_fast_mode {}{}", is_fast_mode, seperator) + //
fmt::format("enable_read_thread {}{}", enable_read_thread, seperator);
}

std::pair<bool, std::string> WorkloadOptions::parseOptions(int argc, char * argv[])
Expand Down Expand Up @@ -95,7 +96,10 @@ std::pair<bool, std::string> WorkloadOptions::parseOptions(int argc, char * argv
//
("table_name", value<std::string>()->default_value(""), "") //
("table_id", value<int64_t>()->default_value(-1), "") //
//
("is_fast_mode", value<bool>()->default_value(false), "default is false, means normal mode. When we in fast mode, we should set verification as false") //
//
("enable_read_thread", value<bool>()->default_value(true), "") //
;

boost::program_options::variables_map vm;
Expand Down Expand Up @@ -183,6 +187,8 @@ std::pair<bool, std::string> WorkloadOptions::parseOptions(int argc, char * argv
return {false, fmt::format("When in_fast_mode, we should set verification as false")};
}

enable_read_thread = vm["enable_read_thread"].as<bool>();

return {true, toString()};
}

Expand Down
2 changes: 2 additions & 0 deletions dbms/src/Storages/DeltaMerge/workload/Options.h
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,8 @@ struct WorkloadOptions

bool is_fast_mode;

bool enable_read_thread;

std::string toString(std::string seperator = "\n") const;
std::pair<bool, std::string> parseOptions(int argc, char * argv[]);
void initFailpoints() const;
Expand Down

0 comments on commit 003009a

Please sign in to comment.