difin commented on code in PR #5729: URL: https://github.com/apache/hive/pull/5729#discussion_r2029356248
########## service/src/java/org/apache/hive/service/server/HS2ActivePassiveHARegistry.java: ########## @@ -173,9 +173,9 @@ private void addEndpointToServiceRecord( private void updateEndpoint(final ServiceRecord srv, final String endpointName) { final String instanceUri = srv.get(INSTANCE_URI_CONFIG); - final String[] tokens = instanceUri.split(":"); - final String hostname = tokens[0]; - final int port = Integer.parseInt(tokens[1]); + IPStackUtils.HostPort hostPort = IPStackUtils.splitHostPort(instanceUri); + final String hostname = hostPort.getHostname(); + final int port = hostPort.getPort(); Review Comment: As I see it the problem with this method is that for IPv6 it works only if the hostname portion is enclosed in square brackets (e.g. `[::1]:1000`), while my custom method `IPStackUtils.splitHostPort` works even if it is not enclosed in square brackets. While URLs with IPv6 literals are supposed to be enclosed in square brackets, it requires the code that produces the string that is being parsed here to enclose IPv6 in square brackets. Also, what we are parsing here is not a complete URI (URI must contain protocol type such as `http://196.0.0.1:9000` while we parse only `host:port`), I thought it would be more stable to support parsing host/port with and without square brackets. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: gitbox-unsubscr...@hive.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: gitbox-unsubscr...@hive.apache.org For additional commands, e-mail: gitbox-h...@hive.apache.org