Problem
Upgrading directly to IQ Server release 73 from a previous release may fail.
The server will not start and the clm-server.log will contain log messages which include text similar to:
*SYSTEM com.sonatype.insight.brain.db.OperationalDataStoreProvider - Initializing the insight_brain_ods data store. java.lang.IllegalStateException: Fatal error trying to start server at com.sonatype.insight.brain.service.InsightBrainService$2.onError(InsightBrainService.java:156) at io.dropwizard.cli.Cli.run(Cli.java:82) at com.sonatype.insight.brain.service.InsightBrainService.run(InsightBrainService.java:172) at com.sonatype.insight.brain.service.InsightBrainService.main(InsightBrainService.java:100) Caused by: com.sonatype.insight.db.DatabaseException: java.sql.SQLException: Cannot create PoolableConnectionFactory (Allgemeiner Fehler: "java.lang.IllegalArgumentException: timeNanos out of range 86400998000000" General error: "java.lang.IllegalArgumentException: timeNanos out of range 86400998000000" [50000-196])
Cause
The database records from an earlier version contains policy evaluations and related violations with local timestamps greater than 23:59:59.499. This is rare and only affects a small subset of customers, however will fail upgrade and force the customer to roll back to the previous IQ Server release.
The bug in reading these timestamps was introduced by upgrading the version of the third-party database that IQ server uses.
Resolution
Release 74 and newer will not encounter this problem.
First rollback to the backup of the sonatype-work/clm-server directory taken before the upgrade to IQ Server 73 was attempted. Then choose one of these options:
- Start the previous IQ Server release that was being used prior to the upgrade attempt.
- Start IQ Server release 72 and upgrade to it.
- Start IQ Server release 74 or newer and upgrade to it.
Starting any version of IQ Server against the databases that release 73 was started against is not supported.