Skip to content

Commit

Permalink
[Bug](http-api) fix core dump on API check_rpc_channel coz exec_env n…
Browse files Browse the repository at this point in the history
…ot initialized #39519
  • Loading branch information
Vallishp committed Aug 17, 2024
1 parent 5c24ec9 commit f5183bb
Show file tree
Hide file tree
Showing 3 changed files with 44 additions and 1 deletion.
3 changes: 2 additions & 1 deletion be/src/http/action/check_rpc_channel_action.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,8 @@
namespace doris {
CheckRPCChannelAction::CheckRPCChannelAction(ExecEnv* exec_env, TPrivilegeHier::type hier,
TPrivilegeType::type type)
: HttpHandlerWithAuth(exec_env, hier, type) {}
: HttpHandlerWithAuth(exec_env, hier, type), _exec_env(exec_env) {}

void CheckRPCChannelAction::handle(HttpRequest* req) {
std::string req_ip = req->param("ip");
std::string req_port = req->param("port");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -939,6 +939,19 @@ class Suite implements GroovyInterceptable {
return;
}

void getBackendIpHttpAndBrpcPort(Map<String, String> backendId_to_backendIP,
Map<String, String> backendId_to_backendHttpPort, Map<String, String> backendId_to_backendBrpcPort) {

List<List<Object>> backends = sql("show backends");
for (List<Object> backend : backends) {
backendId_to_backendIP.put(String.valueOf(backend[0]), String.valueOf(backend[1]));
backendId_to_backendHttpPort.put(String.valueOf(backend[0]), String.valueOf(backend[4]));
backendId_to_backendBrpcPort.put(String.valueOf(backend[0]), String.valueOf(backend[5]));
}
return;
}


int getTotalLine(String filePath) {
def file = new File(filePath)
int lines = 0;
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@

// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements. See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership. The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License. You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied. See the License for the
// specific language governing permissions and limitations
// under the License.

suite('check_rpc_channel') {
def backendId_to_backendIP = [:]
def backendId_to_backendHttpPort = [:]
def backendId_to_backendBrpcPort = [:]

getBackendIpHttpAndBrpcPort(backendId_to_backendIP, backendId_to_backendHttpPort, backendId_to_backendBrpcPort);
for (int i=0;i<backendId_to_backendIP.size();i++){
def beHttpAddress =backendId_to_backendIP.entrySet()[i].getValue()+":"+backendId_to_backendHttpPort.entrySet()[i].getValue()
curl("POST",beHttpAddress+"/api/check_rpc_channel/"+backendId_to_backendIP.entrySet()[i].getValue()+"/"+backendId_to_backendBrpcPort.entrySet()[i].getValue()+"/1024000")
}
}

0 comments on commit f5183bb

Please sign in to comment.