Timeouts while consulting results
Overview
If you are experiencing timeouts or errors while attempting to view or work with your analysis results, especially for very large applications, this is likely due to the way in which your application is configured with regard to modules (the internal grouping of objects used by CAST Imaging). If your application contains only one single module then all the objects in your application are contained within that module. When CAST Imaging attempts to fetch results for certain features that rely on modules, it needs to fetch all the objects in the module: when there is only one module, this process can take a long time to complete and will sometimes fail due to exceeding an internal timeout threshold.
This issue usually manifests itself with the following UI error Failed to get graph data
or Failed to get Transaction list
:
On other occasions no error is returned and the UI simply fails to display the requested items, for example when looking at Cloud Maturity results no objects are displayed in the right panel:
Resolution
To resolve this issue, you can modify the timeout threshold as described below. On the machine on which your imaging-viewer
service is installed, perform the following steps:
Step 1 - Update imagingservice.json / app.config
Locate the following file depending on your operating system:
%PROGRAMFILES%\CAST\Imaging\CAST-Imaging-Viewer\setup-config\imagingservice\imagingservice.json
/home/CAST/imaging-viewer/server/app.config
Edit the file 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. The example below is for Microsoft Windows, but the same is true for Docker via Linux:
{
"APP_CONFIG": "C:\\ProgramData\\CAST\\Imaging\\CAST-Imaging-Viewer\\setup-config\\imagingservice\\app-config.json",
"PORT": "9010",
"NEO4J_USERNAME": "neo4j",
"NEO4J_PASSWORD": "imaging",
"NEO4J_BOLT_ENDPOINT": "127.0.0.1:7697",
"NEO4J_IMPORT_PATH": "C:\\ProgramData\\CAST\\Imaging\\CAST-Imaging-Viewer\\Neo4jData\\import",
"TOKEN": "D5ED6A406775FC71B8D2A978883E8ED4",
"LOG_PATH": "C:\\Program Files\\CAST\\Imaging\\CAST-Imaging-Viewer\\logs\\",
"LOG_LEVEL": "info",
"AUDIT_TRAIL": true,
"LOGGER_TIMEOUT": 120,
"EUREKA_PORT": "8098",
"EUREKA_HOST": "localhost",
"SERVICE_HOST": "localhost",
"SERVICE_NAME": "IMAGING",
"FE_PORT": 8093
}
Step 2 - Update proxy.conf
Locate the following file depending on your operating system:
%PROGRAMFILES%\CAST\Imaging\CAST-Imaging-Viewer\nginx\proxy.conf
/home/CAST/imaging-viewer/server/nginx/conf/proxy.conf
Edit the file and add a new line 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 (120 seconds) 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;
Step 3 - Restart services
Finally, restart the following services/containers to ensure your changes are taken into account:
Microsoft Windows | Linux via Docker |
---|---|
|
|