After migrating the primary database from MySQL to MariaDB, the application server fails to start with the following error:
YYYY-MM-DDTHH:MM:SS.sssZ [main] FATAL com.appiancorp.common.web.StartupHaltingServletContextListener - Halting JVM startupcom.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
This is a known issue with checksums when moving the primary database for MySQL to MariaDB.
To resolve the issue, the checksum column will need to be manually reset.
CREATE TABLE DATABASECHANGELOG_BACKUP AS SELECT * FROM DATABASECHANGELOG;
UPDATE DATABASECHANGELOG set MD5SUM=NULL;
DROP TABLE DATABASECHANGELOG_BACKUP;
This article applies to all self-managed versions of Appian.
Last Reviewed: November 2023