Hi,
while debugging TimerExecutionTest and TimerRecalculationTest are flaky · Issue #975 · operaton/operaton · GitHub I was looking into the recommended connection settings and realized that our testcontainers instance is not configured according to recommendations: MySQL Database Configuration | Operaton Documentation
Our documentation recommends to set the JDBC parameter sendFractionalSeconds to false. The link to the MySQL documentation is broken, and while searching for the correct one, I saw that some aspects in MySQLs handling of fractional seconds changed:
- It is in fact possible to configure fractional settings support for DATETIME columns, which operaton uses: https://dev.mysql.com/doc/refman/8.4/en/fractional-seconds.html DATETIME is created without fractional settings in our liquibase config
- The recommended parameter is now called
sendFractionalSecondsForTime, the documentation states " Also, the connection propertysendFractionalSecondshas become a global control for the sending of fractional seconds for ALL date-time types since release 8.0.23. As a result, ifsendFractionalSeconds=false, fractional seconds are not sent irrespective of the value ofsendFractionalSecondsForTime." which is a footgun that might be considered in the documentation. I will create a separate issue for this.
My train of thought is not ready enough to create an issue for fixing the fractional settings. If we decide to move on this topic, we might add a new changeset retroactively changing created columns, which could be a) expensive, b) breaking and c) unnecessary, if clients using MySQL already used the correct connection parameters.
What are your thoughts on this?