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:
@ -90,6 +90,13 @@ int db::client::client_command(F f)
|
|||||||
|
|
||||||
void db::client::run_one_transaction()
|
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();
|
client_state_.reset_error();
|
||||||
int err = client_command(
|
int err = client_command(
|
||||||
[&]()
|
[&]()
|
||||||
|
@ -69,6 +69,8 @@ db::params db::parse_args(int argc, char** argv)
|
|||||||
"number of rows per table")
|
"number of rows per table")
|
||||||
("alg-freq", po::value<size_t>(¶ms.alg_freq),
|
("alg-freq", po::value<size_t>(¶ms.alg_freq),
|
||||||
"ALG frequency")
|
"ALG frequency")
|
||||||
|
("sync-wait", po::value<bool>(¶ms.sync_wait),
|
||||||
|
"Turn on sync wait for each transaction")
|
||||||
("debug-log-level", po::value<int>(¶ms.debug_log_level),
|
("debug-log-level", po::value<int>(¶ms.debug_log_level),
|
||||||
"debug logging level: 0 - none, 1 - verbose")
|
"debug logging level: 0 - none, 1 - verbose")
|
||||||
("fast-exit", po::value<int>(¶ms.fast_exit),
|
("fast-exit", po::value<int>(¶ms.fast_exit),
|
||||||
@ -86,18 +88,18 @@ db::params db::parse_args(int argc, char** argv)
|
|||||||
{
|
{
|
||||||
po::variables_map vm;
|
po::variables_map vm;
|
||||||
po::store(po::parse_command_line(argc, argv, desc), vm);
|
po::store(po::parse_command_line(argc, argv, desc), vm);
|
||||||
po::notify(vm);
|
|
||||||
if (vm.count("help"))
|
if (vm.count("help"))
|
||||||
{
|
{
|
||||||
std::cerr << desc << "\n";
|
std::cerr << desc << "\n";
|
||||||
exit(0);
|
exit(0);
|
||||||
}
|
}
|
||||||
|
po::notify(vm);
|
||||||
validate_params(params);
|
validate_params(params);
|
||||||
}
|
}
|
||||||
catch (const po::error& e)
|
catch (const po::error& e)
|
||||||
{
|
{
|
||||||
std::cerr << "Error parsing arguments: " << e.what() << "\n";
|
std::cerr << "Error parsing arguments: " << e.what() << "\n";
|
||||||
|
std::cerr << desc << "\n";
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
catch (...)
|
catch (...)
|
||||||
|
@ -32,6 +32,7 @@ namespace db
|
|||||||
size_t n_transactions;
|
size_t n_transactions;
|
||||||
size_t n_rows;
|
size_t n_rows;
|
||||||
size_t alg_freq;
|
size_t alg_freq;
|
||||||
|
bool sync_wait;
|
||||||
std::string topology;
|
std::string topology;
|
||||||
std::string wsrep_provider;
|
std::string wsrep_provider;
|
||||||
std::string wsrep_provider_options;
|
std::string wsrep_provider_options;
|
||||||
@ -45,6 +46,7 @@ namespace db
|
|||||||
, n_transactions(0)
|
, n_transactions(0)
|
||||||
, n_rows(1000)
|
, n_rows(1000)
|
||||||
, alg_freq(0)
|
, alg_freq(0)
|
||||||
|
, sync_wait(false)
|
||||||
, topology()
|
, topology()
|
||||||
, wsrep_provider()
|
, wsrep_provider()
|
||||||
, wsrep_provider_options()
|
, wsrep_provider_options()
|
||||||
|
Reference in New Issue
Block a user