You are currently reviewing an older revision of this page.

DRAFT KB-XXX "loadMetric.threshold has type STRING rather than NUMBER" causes Service Manager startup to fail

Symptoms

When starting the Appian services, the startup stalls at "Waiting for Service Manager to launch," and the following exception appears in the application server log:

java.lang.IllegalStateException: Expected the service to be TERMINATED, but the service has FAILED
.
.
.
Caused by: com.typesafe.config.ConfigException$WrongType: <APPIAN_HOME>/ear/suite.ear/conf/custom.properties: loadMetric.threshold has type STRING rather than NUMBER

Cause

The server.conf.processcommon.MAX_EXEC_ENGINE_LOAD_METRIC= line listed in custom.properties is set equal to a value that is being read as a string rather than a number. If this line is set equal to a variable that is defined (as an integer) in a separate configuration file, this file containing the integer value is not being properly implemented/read.

Action

Ensure that the server.conf.processcommon.MAX_EXEC_ENGINE_LOAD_METRIC= line listed in custom.properties is set equal to an integer value, whether the integer is listed explicitly in custom.properties or through a variable that calls an integer value from a separate configuration file.

Workaround

If a variable (that is defined in a separate configuration file) is being used to define this value, and the separate configuration file is not being properly implemented/read, set server.conf.processcommon.MAX_EXEC_ENGINE_LOAD_METRIC= equal to an integer value explicitly in custom.properties.

Affected Version

This article applies to Appian 17.3 and later.

Last Reviewed: April 2018