KB-1143 Archive process script's search fails when searching through a large number of files

Symptoms

When attempting to search for archived processes with the archive script on a system with a large number of archived instances (over 100,000), it may fail. You will see the following error with the script

 ./archiveprocess.sh search -pmid ##SOME PARAMETER## -parchived ##SOME PARAMETER

The command run for a long while then produce the following output :
K 3.3 2009-08-26 Copyright (C) 1993-2009 Kx Systems
l64 2CPU 2 TEST


Called with parameters: search -pmuuid ##SOME PARAMETER## -parchived ##SOME PARAMETER
Searching...

./archiveprocess.sh: line 13: Killed $APPIAN_EXEC archiveprocess $ARGS

Cause

The script's search functionality is resource intensive and may not complete when there are a large number of archived processes in the file system.

Action

Instead of using the search functionality from the script, it will be easier to simply search from the file system. You would do this by going to the archived-process directory (usually <APPIAN_HOME>/server/archived-process) and running a find command with the right parameters. Since the pmuuid and time are a part of the archived files’ names, it’s a lot easier to find the file using a find command. An example of such a command is shown below,

find . *0002dc8b-ea5b-8000-f92f-7f0000014e7a*2016* -print

Another tip is to use the file and pid (the part after the last underscore in the name) parameters when attempting to unarchive processes because they produce a unique combination. If you have a large set, it would be quicker to write a small bash to iterate through the names. Keep in mind that unarchiving is a resource intensive process and should be done in small batches and off-hours.

Affected Versions

This article applies to all versions of Appian.

Last Reviewed: February 2017

Related
Recommended