A SAS® Visual Analytics report might return "An error was encountered contacting the server (404 Request failed with status code 404)"


A SAS Visual Analytics report might return a pop-up message similar to the following in some situations:

 An error was encountered contacting the server (404 Request failed with status code 404)  

A network trace shows that the failed request is to the reportData service, and the response displays a message similar to the following:

{"errorCode":15343,"message":"unable to find file - ec0ec386-23cc-4551-adb0-5f24470fe7ca_ec0ec386-23cc-4551-adb0-5f24470fe7ca_c44 - dd508.csv"

This issue is often caused by an issue in the Redis service. You can confirm whether the issue is in the Redis service by accessing the following URL: https://{servername}/reportData/cacheHello 

Note: In the URL, {servername} would be the same as the server in the SAS Visual Analytics URL.

If Redis is the culprit, this URL returns the following:

cacheHello - Redis test Failed: - GET from Redis cache failed : ReportData: testRedis : calling GETs resulted in null value(s) for key and/or value.

Workaround

For SAS® Viya® Stable 2024.12 and later, do the following:

  1. Scale the sas-redis-server StatefulSet to 0.
  2. Delete the PVCs associated with SAS Redis Server pods.
  3. Scale the sas-redis-server StatefulSet to 1.

For detailed instructions, see SAS Redis Cluster Gets into an Error State in the official SAS documentation.

For SAS® Viya® Stable 2024.11 and earlier, do the following:

  1. Scale the SAS Redis Operator to 0.
  2. Delete the PVCs associated with SAS Redis Server pods.
  3. Scale the SAS Redis Operator to 1.  

For detailed instructions, see SAS Redis Cluster Gets into an Error State in the official SAS documentation.

Long-Term Solution

The root cause of this issue is due to missing requirement: block storage. This issue is described in the Persistent Storage Volumes, PersistentVolumeClaims, and Storage Classes section of the SAS® Viya® Platform Operations guide:

SAS and Redis recommend using a block storage device for Redis persistent storage. The Redis documentation recommends "enterprise-grade SANs or cloud environments such as EBS, Azure Managed Disks, or GCP persistent disks." For more information, see Use persistent volumes in Redis Enterprise clusters.

The long-term solution is to implement block storage for the SAS Redis Server as described in Use persistent volumes in Redis Enterprise clusters.