Summary: how to configure custom aggregation node limit.

Introduction

Out of the box in ≥ 2.17.1, CAST Imaging is configured automatically to limit the number of nodes in a custom aggregation to 100,000 (one hundred thousand) when the custom aggregation is configured to use an existing CAST supplied aggregation (such as CAST Taxonomy, Module, Service, etc.). If the custom aggregation exceeds this value, then an error is displayed when the aggregation is created:

This limit is set in order to avoid performance issues when the custom aggregation is used. In this situation, and as a last resort, it is possible to increase the limit (knowing that this may cause performance issues and other unexpected side effects) - this customization is explained below.

Note that the node limit is not applied when creating a custom aggregation from scratch and not using the existing CAST supplied aggregations.

Customizing the limit

To customize the limit, open and edit the following file depending on your environment:

Microsoft Windows traditional installer ≥ 2.17
%APPDATA%\CAST\ImagingSystem\imagingservice\imagingservice.json

Docker Installer extension (located in the folder created when unzipping and installing the extension):
server\app.config

Microsoft Windows via traditional installer

These files are located in the protected %APPDATA% location, therefore you must open the file with elevated permission (this is usually achieved by right clicking your text editor in the Windows start menu and selecting Run as administrator):

Linux

You may need to use elevated permissions to edit these files (for example use sudo).

Alter the CUSTOM_AGGREGATION_LIMIT value from 100000 to a new higher value - CAST highly recommends that this value is incremented in small steps of 10,000 nodes until the error message is removed:

Microsoft Windows traditional installer

imagingservice.json

{
    "APP_CONFIG": "C:\\Users\\<user>\\AppData\\Roaming\\CAST\\ImagingSystem\\imagingservice\\app-config.json",
    "PORT": "9000",
    "NEO4J_USERNAME": "neo4j",
    "NEO4J_PASSWORD": "imaging",
    "NEO4J_BOLT_ENDPOINT": "127.0.0.1:7687",
    "NEO4J_IMPORT_PATH": "C:\\ProgramData\\CAST\\ImagingSystem\\Neo4j_data\\import",
    "TOKEN": "D5ED6A406775FC71B8D2A978883E8ED4",
    "LOG_PATH": "C:\\Program Files\\CAST\\ImagingSystem\\logs\\",
    "LOG_LEVEL": "info",
    "AUDIT_TRAIL": true,
    "LOGGER_TIMEOUT": 60,
	"CUSTOM_AGGREGATION_LIMIT": 100000
}
Docker for Linux/Windows

server/app.config

{
    "PORT": "9000",
    "NEO4J_USERNAME": "neo4j",
    "NEO4J_PASSWORD": "imaging",
    "NEO4J_BOLT_ENDPOINT": "neo4j:7687",
    "ETL_ENDPOINT": "etl:9001",
    "TOKEN": "__my_token__",
    "NEO4J_IMPORT_PATH": "/opt/imaging/imaging-service/upload/",
    "LOG_PATH": "/opt/imaging/imaging-service/logs/",
    "LOG_LEVEL": "debug",
	"AUDIT_TRAIL": true,
    "APP_CONFIG": "app-config.json",
	"LOGGER_TIMEOUT": 60,
	"CUSTOM_AGGREGATION_LIMIT": 100000
}

Applying the changes

Restart the CAST Imaging "imaging-service" (Microsoft Windows) or the "server" container (Docker) to apply the changes.