KB-1047 "The record type [identifier=SYSTEM_RECORD_TYPE_USER] does not exist, has been deleted, or you do not have sufficient privileges to access its data"

Symptoms

When users log into Tempo, the page will load, however the tabs for News, Tasks, Records, Reports, and Actions are missing. Appian Designer and /designer will be accessible.

For users running JBoss as an application server, the following snippet is shown in the application server log:

The record type [identifier=SYSTEM_RECORD_TYPE_USER] does not exist, has been deleted, or you do not have sufficient privileges to access its data. (APNX-1-4205-005)

For users running WebLogic as an application server, the following stack trace is shown when doing a migration in the AdminServer.log file:

<Warning> <HTTP> <BEA-101162> <User defined listener com.appiancorp.plugins.PluginLoader failed: com.appiancorp.common.config.FatalConfigurationException: com.appiancorp.suiteapi.common.exceptions.AppianException: A fatal error occurred when importing system packages: Found 1 failures when importing. Will try again upon restart: /XXX/suite.ear/web.war/WEB-INF/bundled-apps/USER_RECORD_TYPE_PACKAGE.zip
Details: ImportDriver.5[recordType={SYSTEM_RECORD_TYPE_USER=com.appiancorp.ix.ConsumerException: type=recordType, srcId=SYSTEM_RECORD_TYPE_USER, dstId=null, cause=org.hibernate.QueryTimeoutException: Could not execute JDBC batch update, object=RecordTypeHaul{recordType=RecordType [id=3, uuid=SYSTEM_RECORD_TYPE_USER, name=User, sourceTypeStr={http://www.appian.com/ae/types/2009}Datatype, sourceUuidStr={http://www.appian.com/ae/types/2009}UserProfile]}}] (APNX-1-4262-001).
com.appiancorp.common.config.FatalConfigurationException: com.appiancorp.suiteapi.common.exceptions.AppianException: A fatal error occurred when importing system packages: Found 1 failures when importing. Will try again upon restart: /XXX/suite.ear/web.war/WEB-INF/bundled-apps/USER_RECORD_TYPE_PACKAGE.zip
Details: ImportDriver.5[recordType={SYSTEM_RECORD_TYPE_USER=com.appiancorp.ix.ConsumerException: type=recordType, srcId=SYSTEM_RECORD_TYPE_USER, dstId=null, cause=org.hibernate.QueryTimeoutException: Could not execute JDBC batch update, object=RecordTypeHaul{recordType=RecordType [id=3, uuid=SYSTEM_RECORD_TYPE_USER, name=User, sourceTypeStr={http://www.appian.com/ae/types/2009}Datatype, sourceUuidStr={http://www.appian.com/ae/types/2009}UserProfile]}}] (APNX-1-4262-001)
    at com.appiancorp.suiteapi.common.exceptions.AppianRuntimeException.<init>(AppianRuntimeException.java:52)
    at com.appiancorp.common.config.FatalConfigurationException.<init>(FatalConfigurationException.java:23)
    at com.appiancorp.applications.ApplicationLoaderConfig.newFatal(ApplicationLoaderConfig.java:274)
    at com.appiancorp.applications.ApplicationLoaderConfig.newFatal(ApplicationLoaderConfig.java:270)
    at com.appiancorp.applications.ApplicationLoaderConfig.importApplication(ApplicationLoaderConfig.java:467)
    at com.appiancorp.applications.ApplicationLoaderConfig.importApplicationsFromDirectory(ApplicationLoaderConfig.java:297)
    at com.appiancorp.applications.ApplicationLoaderConfig.loadApplications(ApplicationLoaderConfig.java:175)
    at com.appiancorp.applications.ApplicationLoaderConfig.access$100(ApplicationLoaderConfig.java:91)
    at com.appiancorp.applications.ApplicationLoaderConfig$1.call(ApplicationLoaderConfig.java:195)
    at com.appiancorp.applications.ApplicationLoaderConfig$1.call(ApplicationLoaderConfig.java:192)
                ...
    at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:548)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:311)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:263)

Cause

The following are possible causes for this issue:

  • The user configured to connect to the primary data source does not have sufficient privileges to access the RECORD_TYPE table in the primary database.
  • If a migration has been performed recently including copying the primary database to another database, then the data from that table was not properly copied over to the new database.
  • If the error occurs in a new installation, then this particular record was not properly created during the installation. This may be due to a loss of connectivity between the application server and the primary database.

Action

To fix this in an environment after a migration, perform the following:

  1. Check the database to make sure this user has access to insert and remove records from the RECORD_TYPE table.
  2. Check the original database used before the migration and ensure that there is a record in this table where the uuid column is SYSTEM_RECORD_TYPE_USER. If there is an entry in the table, perform the migration again ensuring that this table gets copied over properly to the new database.

For new installations or for existing installations where the above steps did not work, import the package named USER_RECORD_TYPE_PACKAGE.zip located in <APPIAN_HOME>/ear/suite.ear/web.war/WEB-INF/bundled-apps into /design if using Appian 7.9 or later and /designer if using Appian 7.8 or earlier.

Affected Versions

This article applies to all versions of Appian.

Last Reviewed: February 2017

Related
Recommended