Dealing with failed to get graph data error

Introduction

When a module contains a very large number of objects (for example you have configured one module for the entire application - a Full Content module - see Application - Config - Modules) CAST Imaging can sometimes fail to load the module, i.e. it will timeout before all the objects are correctly loaded. This issue manifests itself with the following error “Failed to get graph data” or “Failed to get Transaction list”:

If you are facing this issue, you can modify two configuration files to lengthen specific feature timeouts which should allow all objects to be loaded correctly. You may need to experiment to find a value that works in your environment.

Configuration

Edit the configuration files

The following configuration files need to be edited:

Microsoft Windows traditional installer
%APPDATA%\CAST\ImagingSystem\imagingservice\imagingservice.json ≥ 2.17
%APPDATA%\CAST\ImagingSystem\imagingservice\imagingservice.bat ≤ 2.16
%APPDATA%\CAST\ImagingSystem\nginx\proxy.conf

Docker Installer extension (located in the folder created when unzipping/installing the extension):
server\app.config
server\nginx\conf\proxy.conf

imagingservice.bat / imagingservice.json / server\app.config

Edit these files and add a new line “LOGGER_TIMEOUT=" with the time out value listed in seconds. If the line already exists, increase the value to your required setting. For example to set the time out to two minutes (120 seconds) add the following and then save the file:

Microsoft Windows traditional installer, ≥ 2.17, 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": 120
}

Microsoft Windows traditional installer, ≤ 2.16, imagingservice.bat:

imagingservice.exe -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=120

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

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

proxy.conf

Edit this file and add a new line as follows PROXY_READ_TIMEOUT= with the time out value listed in seconds. If the line already exists, increase the value to your required setting. For example to set the time out to two minutes, add the following and then save the file:

proxy_redirect     off;
proxy_set_header   Host $host;
proxy_set_header   X-Real-IP $remote_addr;
proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header   X-Forwarded-Host $server_name;
proxy_read_timeout 120s;

Restart services

When the configuration files have been edited, restart the relevant services to ensure that the change is applied:

Microsoft Windows:

  • CAST Imaging - imaging-service
  • CAST Imaging - Frontend service

Linux Docker:

  • server