1. What is the problem? Be very detailed.
I was running ODK Aggregate in AWS (EC2 + RDS.MySQL). Amazon pushed me to upgrade the MySQL version from 5.6.44 (EOL) to 5.7.33. After upgrading the JDBC connection started to fail:
com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
The problem seems to be with the connector because I'm able to connect to the MySQL client from the console.
2. What app or server are you using and on what device and operating system? Include version numbers.
Ubuntu 16.04.3 LTS
ODK Aggregate v1.4.15 Production
MySQL 5.7.33 (In a different virtual machine - AWS RDS)
/var/lib/tomcat8/lib/mysql-connector-java-5.1.45-bin.jar
3. What you have you tried to fix the problem?
Researching much on forums I found that this could be a problem of the connector version (although I'm not sure). So I tried to update to mysql-connector-java-8.0.25.jar.
In this case seems that Aggregate is successfully establishing the link with MySQL but I'm getting the following exception:
org.springframework.dao.DataIntegrityViolationException: StatementCallback;
SQL [SHOW COLUMNS FROM `aggregate`.`_granted_authority_hierarchy`];
Cannot determine value type from string 'NO'; nested exception is java.sql.SQLDataException: Cannot determine value type from string 'NO'
Which is described here: https://github.com/getodk/aggregate/issues/249 but the solution pass by coming back to mysql-connector-java-5.1.45-bin.jar (so communication link failure).
4. What steps can we take to reproduce the problem?
In a working ODK Aggregate environment upgrade MySQL from 5.6.44 to 5.7.33.
5. Anything else we should know or have? If you have a test form or screenshots or logs, attach below.
Not now.