-
Notifications
You must be signed in to change notification settings - Fork 535
Description
I ran the phoenix tests for the first time since the pull request #5349 was merged. That's where we added a dependency on Flyway (#5344) for automatic SQL script execution on deployment.
Here was the failure on phoenix as seen from the Jenkins log at https://build.hmdc.harvard.edu:8443/job/phoenix.dataverse.org-deploy-develop/368/console
Command deploy failed.
remote failure: Error occurred during deployment: Exception while loading the app : javax.ejb.CreateException: Initialization failed for Singleton StartupFlywayMigrator. Please see server.log for more details.
I looked at server.log and found this:
Exception while loading the app : javax.ejb.CreateException: Initialization failed for Singleton StartupFlywayMigrator javax.ejb.CreateException: Initialization failed for Singleton StartupFlywayMigrator
Caused by: org.flywaydb.core.internal.exception.FlywayDbUpgradeRequiredException: PostgreSQL upgrade required: PostgreSQL 8.4 is outdated and no longer supported by Flyway. Flyway currently supports PostgreSQL 9.0 and newer.
at org.flywaydb.core.internal.database.base.Database.ensureDatabaseIsRecentEnough(Database.java:156)
at org.flywaydb.core.internal.database.postgresql.PostgreSQLDatabase.ensureSupported(PostgreSQLDatabase.java:65)
at org.flywaydb.core.internal.database.DatabaseFactory.createDatabase(DatabaseFactory.java:97)
at org.flywaydb.core.Flyway.execute(Flyway.java:1670)
at org.flywaydb.core.Flyway.migrate(Flyway.java:1356)
at edu.harvard.iq.dataverse.flyway.StartupFlywayMigrator.migrateDatabase(StartupFlywayMigrator.java:37)
The above message about PostgreSQL 9.0 is true according to https://flywaydb.org/documentation/database/postgresql but PostgreSQL 9.3 is the oldest version that Flyway supports for free:
Definition of done for this issue:
- The ability to run the API test suite on the phoenix server is currently blocked. We need to either upgrade PostgreSQL on phoenix to 9.6 (used in production at Harvard Dataverse) or install a fresh server (perhaps with CentOS 7 instead of CentOS 6) to take the place of dvnweb-vm6.hmdc.harvard.edu.
- Update http://guides.dataverse.org/en/4.11/installation/prerequisites.html#postgresql to say that PostgreSQL 9.6 is strongly recommended.
- Delete
source/_static/util/pg8-createsequence-prep.sqland the "For systems using Postgresql 8.4 or older..." reference to it at http://guides.dataverse.org/en/4.11/installation/config.html#identifiergenerationstyle (added for running createsequence.sql against PostgreSQL 8.4 results in ERROR: language "plpgsql" does not exist #3744) - Add a file under
doc/release-notesto warn anyone running PostgreSQL 8.x that they must upgrade.
