{"record":{"id":"97b2142e904a96c2","repo":"prestodb/presto","slug":"connection-property-s-is-in-url-multiple-times","errorCode":null,"errorMessage":"Connection property '%s' is in URL multiple times","messagePattern":"Connection property '(.+?)' is in URL multiple times","errorType":"validation","errorClass":"SQLException","httpStatus":null,"severity":"error","filePath":"presto-jdbc/src/main/java/com/facebook/presto/jdbc/PrestoDriverUri.java","lineNumber":347,"sourceCode":"        catch (ClientException e) {\n            throw new SQLException(e.getMessage(), e);\n        }\n        catch (RuntimeException e) {\n            throw new SQLException(\"Error setting up connection\", e);\n        }\n    }\n\n    private static Map<String, String> parseParameters(String query)\n            throws SQLException\n    {\n        Map<String, String> result = new HashMap<>();\n\n        if (query != null) {\n            Iterable<String> queryArgs = QUERY_SPLITTER.split(query);\n            for (String queryArg : queryArgs) {\n                List<String> parts = ARG_SPLITTER.splitToList(queryArg);\n                if (result.put(parts.get(0), parts.get(1)) != null) {\n                    throw new SQLException(format(\"Connection property '%s' is in URL multiple times\", parts.get(0)));\n                }\n            }\n        }\n\n        return result;\n    }\n\n    private static URI parseDriverUrl(String url)\n            throws SQLException\n    {\n        URI uri;\n        try {\n            uri = new URI(url.substring(JDBC_URL_START.length()));\n        }\n        catch (URISyntaxException e) {\n            throw new SQLException(\"Invalid JDBC URL: \" + url, e);\n        }\n        if (isNullOrEmpty(uri.getHost())) {","sourceCodeStart":329,"sourceCodeEnd":365,"githubUrl":"https://github.com/prestodb/presto/blob/55bb57d202de3b926896fa966c2c4a44c779634e/presto-jdbc/src/main/java/com/facebook/presto/jdbc/PrestoDriverUri.java#L329-L365","documentation":"parseParameters builds the URL property map from the JDBC URL query string; when the same property key appears more than once, HashMap.put returns the previous value and this SQLException fires, since ambiguous duplicate properties cannot be resolved.","triggerScenarios":"Thrown at presto-jdbc/src/main/java/com/facebook/presto/jdbc/PrestoDriverUri.java:347 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Remove duplicate property keys from the JDBC URL query string","Keep one occurrence of each property with the desired value"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"55bb57d202de3b926896fa966c2c4a44c779634e","analyzedAt":"2026-09-04T12:50:26.162Z","contentChangedAt":"2026-09-04T12:50:26.162Z","schemaVersion":2},"datasetVersion":"2026-09-11T21:17:09.523Z"}