Skip to content

Commit

Permalink
prevent tsurugidb from being invoked when another tsurugidb process i…
Browse files Browse the repository at this point in the history
…s running
  • Loading branch information
t-horikawa committed Jan 18, 2024
1 parent 22eeaa4 commit a209bb7
Showing 1 changed file with 21 additions and 18 deletions.
39 changes: 21 additions & 18 deletions src/tateyama/tgctl/main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -91,32 +91,35 @@ int tgctl_main(const std::vector<std::string>& args) {
}
FLAGS_timeout = 0; // no timeout for 'tgctl restore xxx'
FLAGS_quiet = true;
tateyama::process::tgctl_start(args.at(0), true, tateyama::framework::boot_mode::maintenance_server);

int rtnv{};
if (args.at(2) == "backup") {
if (args.size() > 3) {
const auto& arg = args.at(3);
if (!FLAGS_use_file_list.empty()) {
rtnv = tateyama::datastore::tgctl_restore_backup_use_file_list(arg);
if (tateyama::process::tgctl_start(args.at(0), true, tateyama::framework::boot_mode::maintenance_server) == tgctl::return_code::ok) {
if (args.at(2) == "backup") {
if (args.size() > 3) {
const auto& arg = args.at(3);
if (!FLAGS_use_file_list.empty()) {
rtnv = tateyama::datastore::tgctl_restore_backup_use_file_list(arg);
} else {
rtnv = tateyama::datastore::tgctl_restore_backup(args.at(3));
}
} else {
rtnv = tateyama::datastore::tgctl_restore_backup(args.at(3));
std::cerr << "directory is not specficed" << std::endl;
}
} else if (args.at(2) == "tag") {
if (args.size() > 3) {
rtnv = tateyama::datastore::tgctl_restore_tag(args.at(3));
} else {
std::cerr << "tag is not specficed" << std::endl;
}
} else {
std::cerr << "directory is not specficed" << std::endl;
}
} else if (args.at(2) == "tag") {
if (args.size() > 3) {
rtnv = tateyama::datastore::tgctl_restore_tag(args.at(3));
} else {
std::cerr << "tag is not specficed" << std::endl;
std::cerr << "unknown backup subcommand '" << args.at(2) << "'" << std::endl;
rtnv = -1;
}

tateyama::process::tgctl_shutdown_kill(false, false);
} else {
std::cerr << "unknown backup subcommand '" << args.at(2) << "'" << std::endl;
std::cerr << "failed to boot tsurugidb in maintenance_server mode" << std::endl;
rtnv = -1;
}

tateyama::process::tgctl_shutdown_kill(false, false);
return rtnv;
}
if (args.at(1) == "quiesce") {
Expand Down

0 comments on commit a209bb7

Please sign in to comment.