Opened 5 months ago

Closed 3 months ago

#2130 closed enhancement (fixed)

Upgrade 3-rd party libraries

Reported by: Nicklas Nordborg Owned by: Nicklas Nordborg
Priority: major Milestone: BASE 3.14
Component: build Version:
Keywords: Cc:

Description

It was a long time ago (#2084, #1942). PostgreSQL has already been updated as part of #2129. There are new versions of Hibernate and MySQL and probably some more.

Change History (17)

comment:1 Changed 5 months ago by Nicklas Nordborg

Owner: set to Nicklas Nordborg
Status: newassigned
Summary: Upgrade 3-rd partt librariesUpgrade 3-rd party libraries

comment:2 Changed 5 months ago by Nicklas Nordborg

(In [7518]) References #2130: Upgrade 3-rd party libraries

Updated MySQL JDBC driver to version 8.0.13. The main driver class has changed so this requires a configuration change in base.config: db.driver = com.mysql.cj.jdbc.Driver.

They have also changed the default value for nullCatalogMeansCurrent from true to false, which is affecting the installation since it will check and try to create things in other databases than what is specified in the connection URL. I think we have to update our code so that we always supply the current database name instead of null

comment:3 Changed 5 months ago by Nicklas Nordborg

(In [7519]) References #2130: Upgrade 3-rd party libraries

Updates to make sure that the current catalog and schema is used instead of null. The nullCatalogMeansCurrent=true should no longer be needed in the MySQL connection string.

comment:4 Changed 5 months ago by Nicklas Nordborg

(In [7520]) References #2130: Upgrade 3-rd party libraries

Added a note in the upgrade information about the changed JDBC driver for MySQL.

comment:5 Changed 5 months ago by Nicklas Nordborg

(In [7521]) References #2130: Upgrade 3-rd party libraries

Removed the need for a db.driver setting in base.config since the driver can be automatically loaded from the db.url setting (using DriverManagager.getDriver(url)).

comment:6 Changed 5 months ago by Nicklas Nordborg

(In [7522]) References #2130: Upgrade 3-rd party libraries

Updated to Hibernate 5.3.7. Except for some API changes and deprecations that is affecting our wrappers around Session, Query, etc. most other things seems to be working. The bug that was reported in #2110 and #2113 seems to be fixed and the workaround has been removed.

comment:7 Changed 5 months ago by Nicklas Nordborg

(In [7523]) References #2130: Upgrade 3-rd party libraries

Removed a references to an old Hibernate version in the test data. The test works without it since Hibernate is on the class path.

comment:8 Changed 5 months ago by Nicklas Nordborg

(In [7524]) References #2130: Upgrade 3-rd party libraries

The MySQL JDBC version number should also be updated in the documentation.

comment:9 Changed 5 months ago by Nicklas Nordborg

(In [7525]) References #2130: Upgrade 3-rd party libraries

Updated Apache HttpComponents? to version 4.5.6 and 4.4.10.

comment:10 Changed 5 months ago by Nicklas Nordborg

(In [7526]) References #2130: Upgrade 3-rd party libraries

Updated Apache Commons Email to version 1.5 and JavaMail? to version 1.6.2.

comment:11 Changed 5 months ago by Nicklas Nordborg

(In [7527]) References #2130: Upgrade 3-rd party libraries

Updated Apache Commons Collections to version 4.2.

comment:12 Changed 5 months ago by Nicklas Nordborg

(In [7528]) References #2130: Upgrade 3-rd party libraries

Updated BouncyCastle? to version 160.

comment:13 Changed 4 months ago by Nicklas Nordborg

(In [7533]) References #2130: Upgrade 3-rd party libraries

The change made in [7521] did not work when running inside Tomcat. Probably due to classloader issues where the DriverManager is initialized early in the startup process before web apps are accessible. It can be solved by repeating the registration with the correct class loader (implicit via ServiceLoader).

comment:14 Changed 4 months ago by Nicklas Nordborg

(In [7534]) References #2130: Upgrade 3-rd party libraries

The change made in [7521] removed the db.driver setting. It was still used in two JSP pages. They have now been updated to use the DriverManager with the db.url setting instead.

comment:15 Changed 4 months ago by Nicklas Nordborg

(In [7541]) References #2130: Upgrade 3-rd party libraries

Not finding an JDBC driver is logged with "INFO" instead of "WARN" level since it is not really an unexpected problem and it is not possible to fix this.

comment:16 Changed 3 months ago by Nicklas Nordborg

(In [7553]) References #2130: Upgrade 3-rd party libraries

Fixing an incorrect change in [7519] that caused migration to fail importing dynamic tables due to missing schema name in the generated SQL:

comment:17 Changed 3 months ago by Nicklas Nordborg

Resolution: fixed
Status: assignedclosed
Note: See TracTickets for help on using tickets.