This is an automated email from the ASF dual-hosted git repository. HTHou pushed a commit to branch codex/fix-cli-ipv6-endpoint-format in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit f2e6540b0ea6776bbe4d57933dd02fdf7c43135a Author: HTHou <[email protected]> AuthorDate: Thu Jul 23 17:04:08 2026 +0800 Fix CLI IPv6 endpoint formatting --- .../en/org/apache/iotdb/cli/i18n/CliMessages.java | 3 +++ .../zh/org/apache/iotdb/cli/i18n/CliMessages.java | 3 +++ .../cli/src/main/java/org/apache/iotdb/cli/Cli.java | 19 ++++++++++++++----- 3 files changed, 20 insertions(+), 5 deletions(-) diff --git a/iotdb-client/cli/src/main/i18n/en/org/apache/iotdb/cli/i18n/CliMessages.java b/iotdb-client/cli/src/main/i18n/en/org/apache/iotdb/cli/i18n/CliMessages.java index 9a877ca9d3c..5c13eb55752 100644 --- a/iotdb-client/cli/src/main/i18n/en/org/apache/iotdb/cli/i18n/CliMessages.java +++ b/iotdb-client/cli/src/main/i18n/en/org/apache/iotdb/cli/i18n/CliMessages.java @@ -24,6 +24,9 @@ public final class CliMessages { // CliContext public static final String EXITING_WITH_CODE = "Exiting with code %d"; + // Cli + public static final String SUCCESSFULLY_LOGIN_AT = "Successfully login at %s"; + // IoTDBDataBackTool public static final String TARGET_DIR_EMPTY = " -targetdir cannot be empty, The backup folder must be specified"; diff --git a/iotdb-client/cli/src/main/i18n/zh/org/apache/iotdb/cli/i18n/CliMessages.java b/iotdb-client/cli/src/main/i18n/zh/org/apache/iotdb/cli/i18n/CliMessages.java index 68e5c47e999..0e0f8f45634 100644 --- a/iotdb-client/cli/src/main/i18n/zh/org/apache/iotdb/cli/i18n/CliMessages.java +++ b/iotdb-client/cli/src/main/i18n/zh/org/apache/iotdb/cli/i18n/CliMessages.java @@ -24,6 +24,9 @@ public final class CliMessages { // CliContext public static final String EXITING_WITH_CODE = "正在退出,退出码 %d"; + // Cli + public static final String SUCCESSFULLY_LOGIN_AT = "成功登录到 %s"; + // IoTDBDataBackTool public static final String TARGET_DIR_EMPTY = " -targetdir 不能为空,必须指定备份目录"; diff --git a/iotdb-client/cli/src/main/java/org/apache/iotdb/cli/Cli.java b/iotdb-client/cli/src/main/java/org/apache/iotdb/cli/Cli.java index 63c3c5d1153..5a20e61d761 100644 --- a/iotdb-client/cli/src/main/java/org/apache/iotdb/cli/Cli.java +++ b/iotdb-client/cli/src/main/java/org/apache/iotdb/cli/Cli.java @@ -19,6 +19,7 @@ package org.apache.iotdb.cli; +import org.apache.iotdb.cli.i18n.CliMessages; import org.apache.iotdb.cli.type.ExitType; import org.apache.iotdb.cli.utils.CliContext; import org.apache.iotdb.cli.utils.JlineUtils; @@ -26,6 +27,7 @@ import org.apache.iotdb.exception.ArgsErrorException; import org.apache.iotdb.jdbc.Config; import org.apache.iotdb.jdbc.IoTDBConnection; import org.apache.iotdb.rpc.RpcUtils; +import org.apache.iotdb.rpc.UrlUtils; import org.apache.commons.cli.CommandLine; import org.apache.commons.cli.CommandLineParser; @@ -204,8 +206,7 @@ public class Cli extends AbstractCli { private static void executeSql(CliContext ctx) throws TException { try (IoTDBConnection connection = - (IoTDBConnection) - DriverManager.getConnection(Config.IOTDB_URL_PREFIX + host + ":" + port + "/", info)) { + (IoTDBConnection) DriverManager.getConnection(buildJdbcUrl(host, port), info)) { connection.setQueryTimeout(queryTimeout); properties = connection.getServerProperties(); timestampPrecision = properties.getTimestampPrecision(); @@ -220,15 +221,15 @@ public class Cli extends AbstractCli { private static void receiveCommands(CliContext ctx) throws TException { try (IoTDBConnection connection = - (IoTDBConnection) - DriverManager.getConnection(Config.IOTDB_URL_PREFIX + host + ":" + port + "/", info)) { + (IoTDBConnection) DriverManager.getConnection(buildJdbcUrl(host, port), info)) { connection.setQueryTimeout(queryTimeout); properties = connection.getServerProperties(); timestampPrecision = properties.getTimestampPrecision(); echoStarting(ctx); displayLogo(ctx, properties.getLogo(), properties.getVersion(), properties.getBuildInfo()); - ctx.getPrinter().println(String.format("Successfully login at %s:%s", host, port)); + ctx.getPrinter() + .println(String.format(CliMessages.SUCCESSFULLY_LOGIN_AT, formatEndpoint(host, port))); while (true) { boolean readLine = readerReadLine(ctx, connection); if (readLine) { @@ -241,6 +242,14 @@ public class Cli extends AbstractCli { } } + private static String formatEndpoint(String host, String port) { + return UrlUtils.formatTEndPointIpv4AndIpv6Url(host, Integer.parseInt(port)); + } + + private static String buildJdbcUrl(String host, String port) { + return Config.IOTDB_URL_PREFIX + formatEndpoint(host, port) + "/"; + } + private static boolean readerReadLine(CliContext ctx, IoTDBConnection connection) { String s; try {
