I'm trying to upgrade our prod Labkey docker instance from 23.3.2 to 23.11.11.
The upgrade went ok on our dev instance but the upgrade fails every time when we try on prod, leaving things in a broken state so we have to roll back the database. I've done the database check via the UI and no issues are found.
The issue seems to be related to the Experiment module :
INFO ModuleLoader 2024-05-28T14:04:00,532 Module Upgrade : Starting module 'Pipeline'
INFO SpringModule 2024-05-28T14:04:00,533 Module Upgrade : Loading Spring configuration for the Pipeline module from [/WEB-INF/pipelineContext.xml]
INFO ModuleLoader 2024-05-28T14:04:00,875 Module Upgrade : Starting module 'plateWellViewer'
INFO ModuleLoader 2024-05-28T14:04:00,876 Module Upgrade : Starting module 'prevalenceDashboard'
INFO ModuleLoader 2024-05-28T14:04:00,877 Module Upgrade : Starting module 'Query'
172.17.0.1 - - [28/May/2024:14:04:01 +0100] "POST /admin-sql-getModuleStatus.view HTTP/1.1" 200 3357
WARN RoleManager 2024-05-28T14:04:01,228 Module Upgrade : Could not resolve the role org.labkey.api.security.roles.TrustedAnalystRole! The role may no longer exist, or may not yet be registered.
INFO ModuleLoader 2024-05-28T14:04:01,228 Module Upgrade : Starting module 'Experiment'
INFO SpringModule 2024-05-28T14:04:01,229 Module Upgrade : Loading Spring configuration for the Experiment module from [/WEB-INF/experimentContext.xml]
172.17.0.1 - - [28/May/2024:14:04:02 +0100] "POST /admin-sql-getModuleStatus.view HTTP/1.1" 200 3358
172.17.0.1 - - [28/May/2024:14:04:03 +0100] "POST /admin-sql-getModuleStatus.view HTTP/1.1" 200 3358
172.17.0.1 - - [28/May/2024:14:04:04 +0100] "POST /admin-sql-getModuleStatus.view HTTP/1.1" 200 3358
127.0.0.1 - - [28/May/2024:14:04:04 +0100] "GET /_/health HTTP/2.0" 200 15
172.17.0.1 - - [28/May/2024:14:04:05 +0100] "POST /admin-sql-getModuleStatus.view HTTP/1.1" 200 3358
172.17.0.1 - - [28/May/2024:14:04:06 +0100] "POST /admin-sql-getModuleStatus.view HTTP/1.1" 200 3358
FATAL ModuleLoader 2024-05-28T14:04:06,554 Module Upgrade : Startup failure, terminating
java.lang.NullPointerException: Cannot invoke "org.labkey.api.exp.property.ValidatorKind.getName()" because the return value of "org.labkey.api.exp.property.PropertyService.getValidatorKind(String)" is null
at org.labkey.experiment.api.property.DomainImpl$PropertyChangeAuditInfo.lambda$renderValidators$0(DomainImpl.java:1107) ~[experiment-23.11.11.jar:?]
at java.base/java.lang.Iterable.forEach(Unknown Source) ~[?:?]
at java.base/java.util.Collections$UnmodifiableCollection.forEach(Unknown Source) ~[?:?]
at org.labkey.experiment.api.property.DomainImpl$PropertyChangeAuditInfo.renderValidators(DomainImpl.java:1106) ~[experiment-23.11.11.jar:?]
at org.labkey.experiment.api.property.DomainImpl.save(DomainImpl.java:718) ~[experiment-23.11.11.jar:?]
at org.labkey.experiment.api.property.DomainImpl.save(DomainImpl.java:521) ~[experiment-23.11.11.jar:?]
at org.labkey.experiment.api.property.DomainImpl.save(DomainImpl.java:369) ~[experiment-23.11.11.jar:?]
at org.labkey.api.audit.AbstractAuditTypeProvider.ensureProperties(AbstractAuditTypeProvider.java:252) ~[api-23.11.11.jar:?]
at org.labkey.api.audit.AbstractAuditTypeProvider.initializeProvider(AbstractAuditTypeProvider.java:149) ~[api-23.11.11.jar:?]
at org.labkey.api.audit.AbstractAuditTypeProvider.<init>(AbstractAuditTypeProvider.java:109) ~[api-23.11.11.jar:?]
at org.labkey.experiment.samples.SampleTimelineAuditProvider.<init>(SampleTimelineAuditProvider.java:58) ~[experiment-23.11.11.jar:?]
at org.labkey.experiment.ExperimentModule.startupAfterSpringConfig(ExperimentModule.java:509) ~[experiment-23.11.11.jar:?]
at org.labkey.api.module.SpringModule.doStartup(SpringModule.java:122) ~[api-23.11.11.jar:?]
at org.labkey.api.module.DefaultModule.startup(DefaultModule.java:229) ~[api-23.11.11.jar:?]
at org.labkey.api.module.ModuleLoader.completeStartup(ModuleLoader.java:1668) ~[api-23.11.11.jar:?]
at org.labkey.api.module.ModuleLoader.initiateModuleStartup(ModuleLoader.java:1607) ~[api-23.11.11.jar:?]
at org.labkey.api.module.ModuleLoader.afterUpgrade(ModuleLoader.java:1824) ~[api-23.11.11.jar:?]
at org.labkey.api.module.ModuleLoader.lambda$startNonCoreUpgradeAndStartup$13(ModuleLoader.java:1803) ~[api-23.11.11.jar:?]
at org.labkey.api.module.ModuleUpgrader.lambda$upgrade$0(ModuleUpgrader.java:111) ~[api-23.11.11.jar:?]
at java.base/java.lang.Thread.run(Unknown Source) [?:?]
INFO ContextListener 2024-05-28T14:04:06,587 gApplicationShutdownHook : Calling DefaultFileWatcher shutdownPre()
INFO FileSystemWatcherImpl 2024-05-28T14:04:06,588 DefaultFileWatcher : FileSystemWatcherThread is terminating
INFO ContextListener 2024-05-28T14:04:06,588 gApplicationShutdownHook : Calling PollingFileWatcher shutdownPre()
INFO FileSystemWatcherImpl 2024-05-28T14:04:06,589 PollingFileWatcher : FileSystemWatcherThread is terminating
Anyone seen anything like this or have any advice?
(Full log attached)
Thanks,
Will