KB-2401 Tomcat fails to start due to property 'sql_generate_invisible_primary_key'
Symptoms
Tomcat fails during startup. The following error will appear in tomcat-stdOut.log:
YYYY-MM-DD HH:mm:ss,mss [main] ERROR org.springframework.web.context.ContextLoader - Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'userActivityFilter' defined in ServletContext resource [/WEB-INF/conf/security/spring-security-01-common.xml]: Cannot resolve reference to bean 'userActivityService' while setting constructor argument
...
Caused by: java.lang.IllegalStateException: [jdbc/<PRIMARY SCHEMA>] Error during schema migration.
...
Caused by: java.lang.IllegalStateException: liquibase.exception.CommandExecutionException: liquibase.exception.LiquibaseException: liquibase.exception.MigrationFailedException: Migration failed for changeset resources/appian/db/changelog/db-changelog-000002.xml::000002.3.1::appian:
Reason: liquibase.exception.DatabaseException: Multiple primary key defined [Failed SQL: (1068) ALTER TABLE AppianPrimary_schema.rm_entry_groups ADD PRIMARY KEY (rm_entry_id, group_uuid)]
...Cause
On the database hosting the primary data source, sql_generate_invisible_primary_key is set to ON. This interferes with how Appian manages its schema.
Action
Disable this setting on your MySQL Server by executing the following command:
SET GLOBAL sql_generate_invisible_primary_key=OFF;
Please see the MySQL documentation for additional information.
Affected Versions
This article applies to all versions of Appian.
Last Reviewed: October 2026
