From dc1d857807bfe28d451630c5f875e56826252bf7 Mon Sep 17 00:00:00 2001 From: "Mingyu Chen (Rayner)" Date: Wed, 18 Jun 2025 22:40:08 +0800 Subject: [PATCH] [fix](http) support show backend config when BE enable http auth (#51887) This PR #36525 introduced the `show backend config` statement to get BE config via http api. But it only support http api without auth. If BE enable auth by setting `enable_all_http_auth=true`, this command will fail. This PR fix it by adding `Auth-Token` in http request, so to support both auth/no-auth http api. --- .../doris/nereids/trees/plans/commands/ShowConfigCommand.java | 4 +++- .../src/main/java/org/apache/doris/qe/ShowExecutor.java | 2 ++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/ShowConfigCommand.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/ShowConfigCommand.java index 77bb5ee83d3a2c..a53f8febe12020 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/ShowConfigCommand.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/ShowConfigCommand.java @@ -129,6 +129,7 @@ private ShowResultSet handShowBackendConfig() throws AnalysisException { try { URL url = new URL(urlString); URLConnection urlConnection = url.openConnection(); + urlConnection.setRequestProperty("Auth-Token", Env.getCurrentEnv().getTokenManager().acquireToken()); InputStream inputStream = urlConnection.getInputStream(); BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream)); while (reader.ready()) { @@ -152,7 +153,8 @@ private ShowResultSet handShowBackendConfig() throws AnalysisException { } } catch (Exception e) { throw new AnalysisException( - String.format("Can’t get backend config, backendId: %d, host: %s", beId, host)); + String.format("Can’t get backend config, backendId: %d, host: %s. error: %s", + beId, host, e.getMessage()), e); } } return new ShowResultSet(getMetaData(BE_TITLE_NAMES), results); diff --git a/fe/fe-core/src/main/java/org/apache/doris/qe/ShowExecutor.java b/fe/fe-core/src/main/java/org/apache/doris/qe/ShowExecutor.java index 3d7a0b611746bf..070e268b279641 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/qe/ShowExecutor.java +++ b/fe/fe-core/src/main/java/org/apache/doris/qe/ShowExecutor.java @@ -1681,6 +1681,7 @@ private void handleShowLoadWarningsFromURL(ShowLoadWarningsStmt showWarningsStmt List> rows = Lists.newArrayList(); try { URLConnection urlConnection = url.openConnection(); + urlConnection.setRequestProperty("Auth-Token", Env.getCurrentEnv().getTokenManager().acquireToken()); InputStream inputStream = urlConnection.getInputStream(); try (BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream))) { int limit = 100; @@ -2518,6 +2519,7 @@ private void handShowBackendConfig(ShowConfigStmt stmt) throws AnalysisException try { URL url = new URL(urlString); URLConnection urlConnection = url.openConnection(); + urlConnection.setRequestProperty("Auth-Token", Env.getCurrentEnv().getTokenManager().acquireToken()); InputStream inputStream = urlConnection.getInputStream(); BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream)); while (reader.ready()) {