Hi, I recently resolved an issue with an application using the MariaDB JDBC driver being unable to connect to an Amazon Aurora MySQL-compatible database (single instance, not cluster). This turned out to be caused by using 'dblink.[examplehostname].com' for my Aurora connection string, rather than the ...rds.amazonaws.com string checked for in UrlParser.java -
I see the code comment indicating that there are problems with detecting Aurora via other methods, as well as compatibility issues preventing the ability to connect to Aurora without a special case, so to some extent I can understand the decision to use hostname or haMode detection.
But I wanted to point out that this approach comes with downsides - particularly when it is not documented anywhere that I can see. We had to review the code itself on Github in order to identify the solution, and that's a problem.
While I don't expect my experience to be the same as most users, I can't be the only one using an alternate hostname or an IP address to connect, or the only one making the reasonable assumption that the driver is hostname-agnostic.
The other consideration - which I am admittedly making somewhat naively - is that the MySQL JDBC driver is able to connect to this Aurora instance without any problems, regardless of hostname. From the perspective of an end user who doesn't care too much about implementation details, I'm probably going to prefer the option that doesn't exhibit unexpected behavior.
In any case - despite the frustrating experience I had - I am grateful to everyone who's contributed to the MariaDB project, and I hope my feedback is helpful.
-Evan