KB-2042 Connected systems fail to load after upgrade with "InsufficientNameUniquenessException" error

This issue has been resolved in an Appian hotfix/new Appian version. Please apply the latest hotfix to your Appian installation or upgrade to the latest version of Appian.

Symptoms

Following an upgrade of Appian, some Connected System objects fail to load with the following error message:

The System Has Encountered an Error
HTTP Code: 500
APNX-X-XXX-XXX

Error Evaluating UI Expression
Expression evaluation error [evaluation ID = XXXXXX] : Error in a!forEach() expression during iteration 1: Expression evaluation error at function a!aos_overrideEditLink [line 9]: com.fasterxml.jackson.databind.JsonMappingException: Failed to decrypt. Only values of type ’Encrypted Text’ can be decrypted. (through reference chain: com.appiancorp.connectedsystems.templateframework.sdk.configuration.ConfigurationDescriptor["state"]->java.util.LinkedHashMap["root"]->java.util.LinkedHashMap["secretAccessKey"])

In the application server log, the below error message will be printed:

YYYY-MM-DD HH:MM:SS [localhost-startStop-1] ERROR com.appiancorp.connectedsystems.http.migration.configobject.MigratePersistedConnectedSystems - Error persisting, migration will be skipped for this connected system: ... com.appiancorp.suiteapi.content.exceptions.InsufficientNameUniquenessException: Name is insufficiently unique

Cause

This behavior occurs when an Appian Application has the same name as a Connected System object. This issue has been addressed via AN-145648 in the following hotfixes/versions:

If a hotfix is required for Appian 17.4 or 18.1, open a case with Appian Support.

Action

Apply the latest hotfix to your Appian installation or upgrade to the latest version of Appian.

Workaround

There are two workarounds that can resolve this issue:

1) Recreate Connected Systems

  1. Create a new Connected System object with the same credentials.
  2. Update integrations to use this new Connected System object.
  3. Remove the old Connected System object that is being replaced.

2) Resolve Naming Clash and Re-run EncryptionMigration

  1. Find the Application that has a matching name to a Connected System object. Enter the Application Context for that App (i.e. click on the application in /suite/design/)
  2. In the top right, click on the gear and select "Application Properties."
  3. Rename the Application and click "Save Changes." Further steps will depend on installation type:

Cloud

Open a case with Appian Support to report this behavior. Ensure to confirm on the support case that the above steps for the second workaround option have been completed.

On-Premise

  1. Add the following line to the custom.properties file in <APPIAN_HOME>/conf
    conf.suite.RERUN_CS_ENCRYPTION_MIGRATION=true
  2. Restart the application server.
  3. Once the environment is accessible again, remove the above added line from the custom.properties file.

Affected Versions

This article applies to all versions of Appian from Appian 17.4 to Appian 19.4.

Last Reviewed: December 2019

Related
Recommended