Skip to content

Commit dae5979

Browse files
committed
review
1 parent ceedbf1 commit dae5979

2 files changed

Lines changed: 12 additions & 7 deletions

File tree

instrumentation/jdbc/library/src/main/java/io/opentelemetry/instrumentation/jdbc/internal/parser/MssqlUrlParser.java

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -126,14 +126,10 @@ private static String parseUrlWithInstance(String jdbcUrl, ParseContext ctx) {
126126
int instanceLoc = serverName.indexOf("\\");
127127
if (instanceLoc > 0) {
128128
if (hostPort.ipv6Address() != null) {
129-
// For IPv6 with instance: [2001:db8::1]\INSTANCE
130-
// Extract instance name between backslash and closing bracket
131129
int closingBracket = serverName.lastIndexOf(']');
132-
if (closingBracket > instanceLoc) {
133-
instanceName = serverName.substring(instanceLoc + 1, closingBracket);
134-
// Reconstruct host with just the IPv6 address
135-
serverName = "[" + hostPort.ipv6Address() + "]";
136-
}
130+
int instanceEnd = closingBracket > instanceLoc ? closingBracket : serverName.length();
131+
instanceName = serverName.substring(instanceLoc + 1, instanceEnd);
132+
serverName = "[" + hostPort.ipv6Address() + "]";
137133
} else {
138134
instanceName = serverName.substring(instanceLoc + 1);
139135
serverName = serverName.substring(0, instanceLoc);

instrumentation/jdbc/library/src/test/java/io/opentelemetry/instrumentation/jdbc/internal/JdbcConnectionUrlParserTest.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -465,6 +465,15 @@ private static Stream<Arguments> sqlServerArguments() {
465465
.setPort(43)
466466
.setName("ssinstance")
467467
.build(),
468+
arg("jdbc:sqlserver://[3ffe:8311:eeee:f70f:0:5eae:10.203.31.9]\\ssinstance;databaseName=ssdb")
469+
.setShortUrl("sqlserver://[3ffe:8311:eeee:f70f:0:5eae:10.203.31.9]:1433")
470+
.setSystem("microsoft.sql_server")
471+
.setOldSystem("mssql")
472+
.setHost("[3ffe:8311:eeee:f70f:0:5eae:10.203.31.9]")
473+
.setPort(1433)
474+
.setNamespace("ssinstance|ssdb")
475+
.setName("ssinstance")
476+
.build(),
468477
arg("jdbc:microsoft:sqlserver://;")
469478
.setProperties(stdProps())
470479
.setShortUrl("microsoft:sqlserver://stdServerName:9999")

0 commit comments

Comments
 (0)