KB-2273 Tomcat fails to start after migrating the primary database from MySQL to MariaDB
Symptoms
After migrating the primary database from MySQL to MariaDB, the application server fails to start with the following error:
- The following error is found in tomcat-stdOut.log:
YYYY-MM-DDTHH:MM:SS.sssZ [main] FATAL com.appiancorp.common.web.StartupHaltingServletContextListener - Halting JVM startup
com.appiancorp.suiteapi.common.exceptions.AppianException: java.lang.RuntimeException: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.security.filterChains': Cannot resolve reference to bean 'org.springframework.security.web.DefaultSecurityFilterChain#66' while setting bean property 'sourceList' with key [66]; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.security.web.DefaultSecurityFilterChain#66': Cannot resolve reference to bean 'mobileClientValidationFilter' while setting constructor argument with key [0]; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'mobileClientValidationFilter' defined in ServletContext resource [/WEB-INF/conf/security/spring-security-05-web-api.xml]: Cannot resolve reference to bean 'httpBasicAuthenticationEntryPoint' while setting constructor argument; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'httpBasicAuthenticationEntryPoint' defined in ServletContext resource [/WEB-INF/conf/security/spring-security-05-web-api.xml]: Bean instantiation via constructor failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.appiancorp.security.auth.HttpBasicAuthenticationEntryPoint]: Constructor threw exception; nested exception is org.springframework.transaction.CannotCreateTransactionException: Could not open JPA EntityManager for transaction; nested exception is
java.lang.IllegalStateException: [jdbc/AppianPrimaryDS] Error during schema migration.
...
Caused by: liquibase.exception.ValidationFailedException: Validation Failed:
[number] changesets check sum
Cause
This is a known issue with checksums when moving the primary database for MySQL to MariaDB.
Action
To resolve the issue, the checksum column will need to be manually reset.
- Stop the application server if not already done.
- Back up the DATABASECHANGELOG table in the Appian Primary schema.
CREATE TABLE DATABASECHANGELOG_BACKUP AS SELECT * FROM DATABASECHANGELOG;
- Null out the checksums in the DATABASECHANGELOG table:
UPDATE DATABASECHANGELOG set MD5SUM=NULL;
- Start the application server and see if there are any issues.
- Drop the backup after everything is verified to be up and running.
DROP TABLE DATABASECHANGELOG_BACKUP;
Affected Versions
This article applies to all self-managed versions of Appian.
Last Reviewed: November 2023
