提交 8fb00997 编写于 作者: Z zhao liwei 提交者: Wu Tao

refactor: change the way to call replication_ddl_client::set_app_envs (#398)

上级 e5fcffd5
Subproject commit 43478e298442a810f2bb9be4a5a81db2839c92f1 Subproject commit 4928fa5668308ce5657709ea1da683b94a2191e5
...@@ -744,11 +744,19 @@ bool set_app_envs(command_executor *e, shell_context *sc, arguments args) ...@@ -744,11 +744,19 @@ bool set_app_envs(command_executor *e, shell_context *sc, arguments args)
values.emplace_back(args.argv[idx++]); values.emplace_back(args.argv[idx++]);
} }
::dsn::error_code ret = sc->ddl_client->set_app_envs(sc->current_app_name, keys, values); auto err_resp = sc->ddl_client->set_app_envs(sc->current_app_name, keys, values);
dsn::error_s err = err_resp.get_error();
if (ret != ::dsn::ERR_OK) { std::string hint_msg;
fprintf(stderr, "set app env failed with err = %s\n", ret.to_string()); if (err.is_ok()) {
err = dsn::error_s::make(err_resp.get_value().err);
hint_msg = err_resp.get_value().hint_message;
}
if (!err.is_ok()) {
fmt::print(stderr, "set app envs failed with error {} [hint:\"{}\"]!\n", err, hint_msg);
} else {
fmt::print(stdout, "set app envs succeed\n");
} }
return true; return true;
} }
......
...@@ -37,9 +37,10 @@ void set_default_ttl(int ttl) ...@@ -37,9 +37,10 @@ void set_default_ttl(int ttl)
std::string env = envs[TABLE_LEVEL_DEFAULT_TTL]; std::string env = envs[TABLE_LEVEL_DEFAULT_TTL];
if ((env.empty() && ttl != 0) || env != std::to_string(ttl)) { if ((env.empty() && ttl != 0) || env != std::to_string(ttl)) {
dsn::error_code ec = ddl_client->set_app_envs( auto response = ddl_client->set_app_envs(
client->get_app_name(), {TABLE_LEVEL_DEFAULT_TTL}, {std::to_string(ttl)}); client->get_app_name(), {TABLE_LEVEL_DEFAULT_TTL}, {std::to_string(ttl)});
ASSERT_EQ(ERR_OK, ec); ASSERT_EQ(true, response.is_ok());
ASSERT_EQ(ERR_OK, response.get_value().err);
// wait envs to be synced. // wait envs to be synced.
std::this_thread::sleep_for(std::chrono::seconds(sleep_for_envs_effect)); std::this_thread::sleep_for(std::chrono::seconds(sleep_for_envs_effect));
...@@ -99,10 +100,11 @@ TEST(ttl, set_without_default_ttl) ...@@ -99,10 +100,11 @@ TEST(ttl, set_without_default_ttl)
ASSERT_EQ(ttl_test_value_2, value); ASSERT_EQ(ttl_test_value_2, value);
// trigger a manual compaction // trigger a manual compaction
dsn::error_code ec = ddl_client->set_app_envs(client->get_app_name(), auto response = ddl_client->set_app_envs(client->get_app_name(),
{MANUAL_COMPACT_ONCE_TRIGGER_TIME_KEY}, {MANUAL_COMPACT_ONCE_TRIGGER_TIME_KEY},
{std::to_string(time(nullptr))}); {std::to_string(time(nullptr))});
ASSERT_EQ(ERR_OK, ec); ASSERT_EQ(true, response.is_ok());
ASSERT_EQ(ERR_OK, response.get_value().err);
// wait envs to be synced, and manual lcompaction has been finished. // wait envs to be synced, and manual lcompaction has been finished.
std::this_thread::sleep_for(std::chrono::seconds(sleep_for_envs_effect)); std::this_thread::sleep_for(std::chrono::seconds(sleep_for_envs_effect));
...@@ -191,10 +193,11 @@ TEST(ttl, set_with_default_ttl) ...@@ -191,10 +193,11 @@ TEST(ttl, set_with_default_ttl)
ASSERT_EQ(ttl_test_value_2, value); ASSERT_EQ(ttl_test_value_2, value);
// trigger a manual compaction // trigger a manual compaction
dsn::error_code ec = ddl_client->set_app_envs(client->get_app_name(), auto response = ddl_client->set_app_envs(client->get_app_name(),
{MANUAL_COMPACT_ONCE_TRIGGER_TIME_KEY}, {MANUAL_COMPACT_ONCE_TRIGGER_TIME_KEY},
{std::to_string(time(nullptr))}); {std::to_string(time(nullptr))});
ASSERT_EQ(ERR_OK, ec); ASSERT_EQ(true, response.is_ok());
ASSERT_EQ(ERR_OK, response.get_value().err);
// wait envs to be synced, and manual compaction has been finished. // wait envs to be synced, and manual compaction has been finished.
std::this_thread::sleep_for(std::chrono::seconds(sleep_for_envs_effect)); std::this_thread::sleep_for(std::chrono::seconds(sleep_for_envs_effect));
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册