diff --git a/src/cmd/single_tablet_test.cc b/src/cmd/single_tablet_test.cc index be2335c8cc5..2c564b30546 100644 --- a/src/cmd/single_tablet_test.cc +++ b/src/cmd/single_tablet_test.cc @@ -65,7 +65,7 @@ TEST_P(DBSDKTest, CreateFunction) { sr = cli->sr; ::openmldb::sdk::SQLClusterRouter* sr_2 = nullptr; if (cs->IsClusterMode()) { - ::openmldb::sdk::ClusterOptions copt; + ::openmldb::sdk::ClusterOptions copt; copt.zk_cluster = mc.GetZkCluster(); copt.zk_path = mc.GetZkPath(); auto cur_cs = new ::openmldb::sdk::ClusterSDK(copt); @@ -75,6 +75,10 @@ TEST_P(DBSDKTest, CreateFunction) { ProcessSQLs(sr_2, {"set @@execute_mode = 'online'"}); } hybridse::sdk::Status status; + std::string err_cut2_sql = absl::StrCat("CREATE FUNCTION cut2(x STRING) RETURNS STRING " + "OPTIONS (FILE='libnotfound_udf.so');"); + sr->ExecuteSQL(err_cut2_sql, &status); + ASSERT_FALSE(status.IsOK()); std::string so_path = openmldb::test::GetParentDir(openmldb::test::GetExeDir()) + "/libtest_udf.so"; std::string cut2_sql = absl::StrCat("CREATE FUNCTION cut2(x STRING) RETURNS STRING " "OPTIONS (FILE='", so_path, "');"); diff --git a/src/nameserver/name_server_impl.cc b/src/nameserver/name_server_impl.cc index 550558b6132..3af886384e4 100644 --- a/src/nameserver/name_server_impl.cc +++ b/src/nameserver/name_server_impl.cc @@ -9735,8 +9735,9 @@ void NameServerImpl::CreateFunction(RpcController* controller, const CreateFunct std::string msg; if (!tablet->client_->CreateFunction(request->fun(), &msg)) { error_msgs.append("create function failed on " + tablet->client_->GetEndpoint() + ", reason: " + msg + ";"); + } else { + succ_tablets.emplace_back(tablet); } - succ_tablets.emplace_back(tablet); } // rollback and return, it's ok if tablet rollback failed if (succ_tablets.size() < tablets.size()) {