Opened 5 years ago

Closed 5 years 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 by Nicklas Nordborg, 5 years ago

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

comment:2 by Nicklas Nordborg, 5 years ago

(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 by Nicklas Nordborg, 5 years ago

(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 by Nicklas Nordborg, 5 years ago

(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 by Nicklas Nordborg, 5 years ago

(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 by Nicklas Nordborg, 5 years ago

(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 by Nicklas Nordborg, 5 years ago

(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 by Nicklas Nordborg, 5 years ago

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

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

comment:9 by Nicklas Nordborg, 5 years ago

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

Updated Apache HttpComponents to version 4.5.6 and 4.4.10.

comment:10 by Nicklas Nordborg, 5 years ago

(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 by Nicklas Nordborg, 5 years ago

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

Updated Apache Commons Collections to version 4.2.

comment:12 by Nicklas Nordborg, 5 years ago

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

Updated BouncyCastle to version 160.

comment:13 by Nicklas Nordborg, 5 years ago

(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 by Nicklas Nordborg, 5 years ago

(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 by Nicklas Nordborg, 5 years ago

(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 by Nicklas Nordborg, 5 years ago

(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 by Nicklas Nordborg, 5 years ago

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