prestodb/presto · error · SQLException
No port number specified:
Error message
No port number specified:
What it means
parseDriverUrl requires an explicit port; when the JDBC URL's authority has no port (URI.getPort() == -1) this SQLException is thrown with the URL, because the driver will not guess the coordinator port.
Source
Thrown at presto-jdbc/src/main/java/com/facebook/presto/jdbc/PrestoDriverUri.java:369
return result;
}
private static URI parseDriverUrl(String url)
throws SQLException
{
URI uri;
try {
uri = new URI(url.substring(JDBC_URL_START.length()));
}
catch (URISyntaxException e) {
throw new SQLException("Invalid JDBC URL: " + url, e);
}
if (isNullOrEmpty(uri.getHost())) {
throw new SQLException("No host specified: " + url);
}
if (uri.getPort() == -1) {
throw new SQLException("No port number specified: " + url);
}
if ((uri.getPort() < 1) || (uri.getPort() > 65535)) {
throw new SQLException("Invalid port number: " + url);
}
return uri;
}
private URI buildHttpUri()
{
String scheme = useSecureConnection ? "https" : "http";
try {
return new URI(scheme, null, address.getHost(), address.getPort(), null, null, null);
}
catch (URISyntaxException e) {
throw new RuntimeException(e);
}
}
View on GitHub (pinned to 55bb57d202)
Solutions
- Add the coordinator port to the URL, e.g. jdbc:presto://host:8080/catalog/schema
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at presto-jdbc/src/main/java/com/facebook/presto/jdbc/PrestoDriverUri.java:369 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of prestodb/presto@55bb57d202 (2026-09-04).
Data as JSON: /api/errors/9d5c82e3965e758a.
Report an issue: GitHub.