You are currently reviewing an older revision of this page.

[DRAFT] - KB-XXXX High heap usage of search server component

Symptoms

On an Appian 20.2 or 20.3 environment, various functionality depending on the search server is negatively impacted. Symptoms are varied but include things like degraded performance, inability to upload documents, and/or deploy packages. 

To validate if the symptoms are a result of this issue, navigate to the search-server.log file in <APPIAN_HOME>/logs/search-server and confirm if output similar to the following is observed:

[DEBUG][org.elasticsearch.action.admin.cluster.node.stats.TransportNodesStatsAction] [%node_name] failed to execute on node [<ID>]
org.elasticsearch.transport.RemoteTransportException: [Node <server:port>][<IP>:<port>][cluster:monitor/nodes/stats[n]]
Caused by: org.elasticsearch.common.breaker.CircuitBreakingException: [parent] Data too large, data for [cluster:monitor/nodes/stats[n]] would be [1036786612/988.7mb], which is larger than the limit of [986061209/940.3mb], real usage: [1036785320/988.7mb], new bytes reserved: [1292/1.2kb], usages [request=0/0b, fielddata=0/0b, in_flight_requests=1292/1.2kb, accounting=1887742/1.8mb]

Cause

This issue has been hotfixed via AN-170688 in Appian 20.3.205.0 and 20.2.235.0.

Action

Apply the latest hotfix to your Appian installation.

Workaround

If you are actively experiencing this issue and unable to take an outage to apply the hotfix at this time, a workaround to increase the search server heap allocation is available. There is no need to shutdown the application server or take an outage to apply this workaround.

Instructions to increase the search server heap can be found here. Note that increasing the search server heap allocation can result in higher overall system memory usage. Ensure there is enough system memory available before increasing heap usage. If you are unsure how much to increase the heap usage by, a safe option is increasing it to 2048 MB and monitoring the situation. If required, more heap usage can be allocated depending on available system resources until the hotfix is applied. 

If the heap allocation cannot be increased due to resource constraints, the search server can also be stopped and started to reset the heap memory. On highly available environments that have the search server running on three nodes, the search server can be restarted in a rolling fashion. Start with the node that has experienced the problem. Then restart each node one by one after ensuring that the cluster status is green. The cluster status can be monitored via the search_server_cluster.csv log in <APPIAN_HOME>/logs/data-metrics.

Affected Versions

This article applies to Appian 20.2 and 20.3.

Last Reviewed: November 2020