1
0
mirror of https://github.com/codership/wsrep-lib.git synced 2025-07-28 20:02:00 +03:00

Added sync-wait option to dbsim.

This commit is contained in:
Teemu Ollakka
2019-01-27 14:44:20 +02:00
parent a17b65a25f
commit dcdd7435bd
3 changed files with 13 additions and 2 deletions

View File

@ -90,6 +90,13 @@ int db::client::client_command(F f)
void db::client::run_one_transaction()
{
if (params_.sync_wait)
{
if (client_state_.sync_wait(5))
{
throw wsrep::runtime_error("Sync wait failed");
}
}
client_state_.reset_error();
int err = client_command(
[&]()

View File

@ -69,6 +69,8 @@ db::params db::parse_args(int argc, char** argv)
"number of rows per table")
("alg-freq", po::value<size_t>(&params.alg_freq),
"ALG frequency")
("sync-wait", po::value<bool>(&params.sync_wait),
"Turn on sync wait for each transaction")
("debug-log-level", po::value<int>(&params.debug_log_level),
"debug logging level: 0 - none, 1 - verbose")
("fast-exit", po::value<int>(&params.fast_exit),
@ -86,18 +88,18 @@ db::params db::parse_args(int argc, char** argv)
{
po::variables_map vm;
po::store(po::parse_command_line(argc, argv, desc), vm);
po::notify(vm);
if (vm.count("help"))
{
std::cerr << desc << "\n";
exit(0);
}
po::notify(vm);
validate_params(params);
}
catch (const po::error& e)
{
std::cerr << "Error parsing arguments: " << e.what() << "\n";
std::cerr << desc << "\n";
exit(1);
}
catch (...)

View File

@ -32,6 +32,7 @@ namespace db
size_t n_transactions;
size_t n_rows;
size_t alg_freq;
bool sync_wait;
std::string topology;
std::string wsrep_provider;
std::string wsrep_provider_options;
@ -45,6 +46,7 @@ namespace db
, n_transactions(0)
, n_rows(1000)
, alg_freq(0)
, sync_wait(false)
, topology()
, wsrep_provider()
, wsrep_provider_options()