You are currently reviewing an older revision of this page.

DRAFT KB-XXXX Appian URL uses a database schema, server, or port different than what is defined in custom.properties

Symptoms

Symptom 1

The login page loads via HTTPS but static content does not load. Inspecting the page through a network capture reveals that static content response is coming from an undesired port.

Symptom 2

Setting a default User Start Page on the 'User Start Pages' tab of the Admin Console yields the following error:

The URL is invalid or has an incorrect base URL. The base URL must be https://FQDN:<INCORRECT_PORT>

Symptom 3

Logging in yields a 401 error when hitting:

https://<FQDN>/suite

Symptom 4

JBoss or Tomcat fail to start with errors that point to data sources that do not exist in custom.properties, appian-ds.xml, nor standalone.xml/tomcatResources.xml

Cause

A custom.properties file exists somewhere else on the server other than the expected location.

Apache commons-configuration PropertiesConfiguration will attempt to find a file specified by just the name with a call to ConfigurationUtils.locate() which resolves in the following order:

  1. Directly from the URL
  2. Base directory
  3. User's home directory (if it exists)
  4. Classpath

Note: The conf directory referenced below has a different location depending on the Appian version. In versions 18.3 and later, it is <APPIAN_HOME>/conf. In 18.2 and earlier, it is <APPIAN_HOME>/ear/suite.ear/conf.

The conf directory is on the classpath, so Appian expects to use the custom.properties file on step 4. However, if a custom.properties file is found in one of the directories before step 4, Appian will use that file rather than the expected custom.properties file in the conf directory. 

Hence, if stale versions of custom.properties exist in a user's home directory and this user attempts to start the application server, Appian will pick-up the wrong file and the application server will fail to start.

  • A custom.properties file with stale values exists in the user’s home directory. Hence, JBoss/Tomcat overwrites updates made to the custom.properties in step 4 with the stale values from the rogue custom.properties file
  • The application server could not start because the data sources defined in the stale custom.properties file are not present in the appian-ds.xmlstandalone.xml, or tomcatResources.xml files. Given that Apache found a stale custom.properties file, it will utilize its configurations. This causes a mismatch between custom.properties and the appian-ds.xmlstandalone.xml, or tomcatResources.xml files

Action

Find and remove any custom.properties files extraneous to the classpath.

Affected Versions

This article applies to Appian 18.4 and earlier.

Last Reviewed: September 2019