Details
- 
    Bug 
- 
    Status: Closed (View Workflow)
- 
    Major 
- 
    Resolution: Not a Bug
- 
    2.7.3
- 
    None
- 
    Amazon Aurora MySQL-compatible
 OpenSSH_8.1p1, LibreSSL 2.7.3
Description
Steps to reproduce:
1) Open a ssh tunnel through a jump (bastion) server. For example:
$ ssh -NL 9000:something.something.eu-central-1.rds.amazonaws.com:3306 bastion
2) Open a JDBC Connection with DriverManager and a url of the form: jdbc:mysql://localhost:9000/mydatabase
You end up with an exception:
| Exception in thread "main" java.lang.RuntimeException: java.sql.SQLNonTransientConnectionException: Could not connect to address=(host=localhost)(port=9000)(type=master) : (conn=98) could not load system variables | 
|         at de.e2n.Main.connectToDatabase(Main.java:140) | 
|         at de.e2n.Main.run(Main.java:52) | 
|         at de.e2n.Main.main(Main.java:165) | 
| Caused by: java.sql.SQLNonTransientConnectionException: Could not connect to address=(host=localhost)(port=9000)(type=master) : (conn=98) could not load system variables | 
|         at org.mariadb.jdbc.internal.util.exceptions.ExceptionFactory.createException(ExceptionFactory.java:73) | 
|         at org.mariadb.jdbc.internal.util.exceptions.ExceptionFactory.create(ExceptionFactory.java:194) | 
|         at org.mariadb.jdbc.internal.protocol.AbstractConnectProtocol.connectWithoutProxy(AbstractConnectProtocol.java:1394) | 
|         at org.mariadb.jdbc.internal.util.Utils.retrieveProxy(Utils.java:635) | 
|         at org.mariadb.jdbc.MariaDbConnection.newConnection(MariaDbConnection.java:150) | 
|         at org.mariadb.jdbc.Driver.connect(Driver.java:89) | 
|         at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:677) | 
|         at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:228) | 
|         at de.e2n.Main.connectToDatabase(Main.java:138) | 
|         ... 2 more | 
| Caused by: java.sql.SQLNonTransientConnectionException: (conn=98) could not load system variables | 
|         at org.mariadb.jdbc.internal.util.exceptions.ExceptionFactory.createException(ExceptionFactory.java:73) | 
|         at org.mariadb.jdbc.internal.util.exceptions.ExceptionFactory.create(ExceptionFactory.java:185) | 
|         at org.mariadb.jdbc.internal.protocol.AbstractConnectProtocol.requestSessionDataWithShow(AbstractConnectProtocol.java:1114) | 
|         at org.mariadb.jdbc.internal.protocol.AbstractConnectProtocol.readPipelineAdditionalData(AbstractConnectProtocol.java:1075) | 
|         at org.mariadb.jdbc.internal.protocol.AbstractConnectProtocol.postConnectionQueries(AbstractConnectProtocol.java:882) | 
|         at org.mariadb.jdbc.internal.protocol.AbstractConnectProtocol.createConnection(AbstractConnectProtocol.java:597) | 
|         at org.mariadb.jdbc.internal.protocol.AbstractConnectProtocol.connectWithoutProxy(AbstractConnectProtocol.java:1389) | 
|         ... 8 more | 
| Caused by: java.sql.SQLNonTransientConnectionException: (conn=98) Connection is closed | 
|         at org.mariadb.jdbc.internal.util.exceptions.ExceptionFactory.createException(ExceptionFactory.java:73) | 
|         at org.mariadb.jdbc.internal.util.exceptions.ExceptionFactory.create(ExceptionFactory.java:189) | 
|         at org.mariadb.jdbc.internal.protocol.AbstractQueryProtocol.cmdPrologue(AbstractQueryProtocol.java:1945) | 
|         at org.mariadb.jdbc.internal.protocol.AbstractQueryProtocol.executeQuery(AbstractQueryProtocol.java:249) | 
|         at org.mariadb.jdbc.internal.protocol.AbstractConnectProtocol.requestSessionDataWithShow(AbstractConnectProtocol.java:1089) | 
|         ... 12 more
 | 
This works if we use mysql-connector-java-5.1.46.jar.