From 3504018b3601dcb6b6e204ba6d9752aa02fd7926 Mon Sep 17 00:00:00 2001 From: zhaoliwei Date: Mon, 23 Sep 2019 17:43:43 +0800 Subject: [PATCH 1/6] table level slow query --- rdsn | 2 +- src/shell/commands/table_management.cpp | 15 ++++++++++---- src/test/function_test/test_ttl.cpp | 26 ++++++++++++++----------- 3 files changed, 27 insertions(+), 16 deletions(-) diff --git a/rdsn b/rdsn index c3c1326908..6eff713688 160000 --- a/rdsn +++ b/rdsn @@ -1 +1 @@ -Subproject commit c3c13269083506ec28a7d3b931261f51b6c5f741 +Subproject commit 6eff713688fbc8e94910253d71d92a5917d1279f diff --git a/src/shell/commands/table_management.cpp b/src/shell/commands/table_management.cpp index 54603112a0..2e6c7a928f 100644 --- a/src/shell/commands/table_management.cpp +++ b/src/shell/commands/table_management.cpp @@ -744,11 +744,18 @@ bool set_app_envs(command_executor *e, shell_context *sc, arguments args) values.emplace_back(args.argv[idx++]); } - ::dsn::error_code ret = sc->ddl_client->set_app_envs(sc->current_app_name, keys, values); - - if (ret != ::dsn::ERR_OK) { - fprintf(stderr, "set app env failed with err = %s\n", ret.to_string()); + auto response = sc->ddl_client->set_app_envs(sc->current_app_name, keys, values); + if (!response.is_ok()) { + fmt::print(stderr, "set app envs failed with rpc error!\n"); + } else { + ::dsn::error_code ec = response.get_value().err; + if (::dsn::ERR_OK == ec) { + fmt::print(stdout, "set app envs succeed\n"); + } else { + fmt::print(stderr, "set app env failed with err = {}\n", ec.to_string()); + } } + return true; } diff --git a/src/test/function_test/test_ttl.cpp b/src/test/function_test/test_ttl.cpp index d2a22bf6b4..ab20ae1044 100644 --- a/src/test/function_test/test_ttl.cpp +++ b/src/test/function_test/test_ttl.cpp @@ -37,9 +37,11 @@ void set_default_ttl(int ttl) std::string env = envs[TABLE_LEVEL_DEFAULT_TTL]; if ((env.empty() && ttl != 0) || env != std::to_string(ttl)) { - dsn::error_code ec = ddl_client->set_app_envs( - client->get_app_name(), {TABLE_LEVEL_DEFAULT_TTL}, {std::to_string(ttl)}); - ASSERT_EQ(ERR_OK, ec); + auto response = ddl_client->set_app_envs(client->get_app_name(), + {MANUAL_COMPACT_ONCE_TRIGGER_TIME_KEY}, + {std::to_string(time(nullptr))}); + ASSERT_EQ(true, response.is_ok()); + ASSERT_EQ(ERR_OK, response.get_value().err); // wait envs to be synced. std::this_thread::sleep_for(std::chrono::seconds(sleep_for_envs_effect)); @@ -99,10 +101,11 @@ TEST(ttl, set_without_default_ttl) ASSERT_EQ(ttl_test_value_2, value); // trigger a manual compaction - dsn::error_code ec = ddl_client->set_app_envs(client->get_app_name(), - {MANUAL_COMPACT_ONCE_TRIGGER_TIME_KEY}, - {std::to_string(time(nullptr))}); - ASSERT_EQ(ERR_OK, ec); + auto response = ddl_client->set_app_envs(client->get_app_name(), + {MANUAL_COMPACT_ONCE_TRIGGER_TIME_KEY}, + {std::to_string(time(nullptr))}); + 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. std::this_thread::sleep_for(std::chrono::seconds(sleep_for_envs_effect)); @@ -191,10 +194,11 @@ TEST(ttl, set_with_default_ttl) ASSERT_EQ(ttl_test_value_2, value); // trigger a manual compaction - dsn::error_code ec = ddl_client->set_app_envs(client->get_app_name(), - {MANUAL_COMPACT_ONCE_TRIGGER_TIME_KEY}, - {std::to_string(time(nullptr))}); - ASSERT_EQ(ERR_OK, ec); + auto response = ddl_client->set_app_envs(client->get_app_name(), + {MANUAL_COMPACT_ONCE_TRIGGER_TIME_KEY}, + {std::to_string(time(nullptr))}); + 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. std::this_thread::sleep_for(std::chrono::seconds(sleep_for_envs_effect)); From cad12d64b33bb0f3dd6b5944dbc6858f91f5b1dc Mon Sep 17 00:00:00 2001 From: zhaoliwei Date: Mon, 23 Sep 2019 17:59:40 +0800 Subject: [PATCH 2/6] update rdsn --- rdsn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rdsn b/rdsn index 6eff713688..4928fa5668 160000 --- a/rdsn +++ b/rdsn @@ -1 +1 @@ -Subproject commit 6eff713688fbc8e94910253d71d92a5917d1279f +Subproject commit 4928fa5668308ce5657709ea1da683b94a2191e5 From a70b0602ecfbf4615e35b362972b01bc36a0b415 Mon Sep 17 00:00:00 2001 From: zhaoliwei Date: Mon, 23 Sep 2019 18:19:54 +0800 Subject: [PATCH 3/6] update submodule --- rdsn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rdsn b/rdsn index 4928fa5668..6eff713688 160000 --- a/rdsn +++ b/rdsn @@ -1 +1 @@ -Subproject commit 4928fa5668308ce5657709ea1da683b94a2191e5 +Subproject commit 6eff713688fbc8e94910253d71d92a5917d1279f From b549c36c8111f77f50b5a80c474dacb3edc02670 Mon Sep 17 00:00:00 2001 From: zhaoliwei Date: Mon, 23 Sep 2019 18:23:06 +0800 Subject: [PATCH 4/6] update submodule --- rdsn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rdsn b/rdsn index 6eff713688..4928fa5668 160000 --- a/rdsn +++ b/rdsn @@ -1 +1 @@ -Subproject commit 6eff713688fbc8e94910253d71d92a5917d1279f +Subproject commit 4928fa5668308ce5657709ea1da683b94a2191e5 From ba35dea28766248f5c9780e381390e2d66892e71 Mon Sep 17 00:00:00 2001 From: zhaoliwei Date: Mon, 23 Sep 2019 19:03:35 +0800 Subject: [PATCH 5/6] rdsn slow query --- src/shell/commands/table_management.cpp | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/src/shell/commands/table_management.cpp b/src/shell/commands/table_management.cpp index 2e6c7a928f..4cbfba2309 100644 --- a/src/shell/commands/table_management.cpp +++ b/src/shell/commands/table_management.cpp @@ -744,16 +744,17 @@ bool set_app_envs(command_executor *e, shell_context *sc, arguments args) values.emplace_back(args.argv[idx++]); } - auto response = sc->ddl_client->set_app_envs(sc->current_app_name, keys, values); - if (!response.is_ok()) { - fmt::print(stderr, "set app envs failed with rpc error!\n"); + auto err_resp = sc->ddl_client->set_app_envs(sc->current_app_name, keys, values); + dsn::error_s err = err_resp.get_error(); + std::string hint_msg; + 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 { - ::dsn::error_code ec = response.get_value().err; - if (::dsn::ERR_OK == ec) { - fmt::print(stdout, "set app envs succeed\n"); - } else { - fmt::print(stderr, "set app env failed with err = {}\n", ec.to_string()); - } + fmt::print(stdout, "set app envs succeed\n"); } return true; From de368a8a48f65066c9867eb238baf75e67838e1e Mon Sep 17 00:00:00 2001 From: zhaoliwei Date: Tue, 24 Sep 2019 10:46:01 +0800 Subject: [PATCH 6/6] rdsn slow query --- src/test/function_test/test_ttl.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/test/function_test/test_ttl.cpp b/src/test/function_test/test_ttl.cpp index ab20ae1044..b027be4152 100644 --- a/src/test/function_test/test_ttl.cpp +++ b/src/test/function_test/test_ttl.cpp @@ -37,9 +37,8 @@ void set_default_ttl(int ttl) std::string env = envs[TABLE_LEVEL_DEFAULT_TTL]; if ((env.empty() && ttl != 0) || env != std::to_string(ttl)) { - auto response = ddl_client->set_app_envs(client->get_app_name(), - {MANUAL_COMPACT_ONCE_TRIGGER_TIME_KEY}, - {std::to_string(time(nullptr))}); + auto response = ddl_client->set_app_envs( + client->get_app_name(), {TABLE_LEVEL_DEFAULT_TTL}, {std::to_string(ttl)}); ASSERT_EQ(true, response.is_ok()); ASSERT_EQ(ERR_OK, response.get_value().err);