Replacing existing content might fail in SAS® Studio


This article explains how to prevent or mitigate an HTTP compression issue with SAS Studio on SAS Viya when using the Contour ingress controller. 

Background

In November 2025, the Kubernetes community announced that it would retire ingress-nginx in March 2026. With the retirement of ingress-nginx, SAS recommends that customers adopt the Contour ingress controller. For more details, see SAS Help Center: Virtual Infrastructure Requirements.

Symptoms

If you encounter this issue, SAS Studio might be unable to save updates to existing content (either on SAS Server or SAS Content).

The error message varies depending on the item that is being updated.

For example, replacing an existing flow might fail with the following error pop-up message: "The flow 'flow_name' could not be saved":

pop-up box saying Save Flow the flow (flow name) could not be saved


Updating a SAS Program file might return an error message similar to the following: "The file 'program_name.sas' has been changed by another user. Do you want to replace the other user's content?" 

popup box saying save as the file (file name) has been changed by another user

 Replacing a job definition, an error message similar to the following might appear in the bottom right corner of the screen:" The job definition 'job_definition_name' could not be saved":

pop up box saying the job definition (name) could not be saved


This issue occurs because Contour compression can strip the required request headers.

Depending on the object that is being overwritten, these HTTP errors might appear in the HAR file at the time of the failure:

Verify the Issue

To verify whether the environment is using Contour, do the following:

  1. Collect the HAR file. For detailed instructions, see SAS KB0036430, "Using the web browser developer tools to investigate issues in SAS® Web Applications."
  2. In the HAR file, inspect the HTTP response header of the failing request. When Contour is in use, the server commonly reports envoy (Envoy is the data plane for Contour), as shown here:

HTTP/2.0 428 Precondition Required
content-length: 746
content-security-policy: default-src 'self'; object-src 'none'; frame-ancestors 'self'; form-action 'self';
content-type: application/vnd.sas.error+json;charset=utf-8;version=2
date: Tue, 31 Mar 2026 12:57:24 GMT
sas-service-response-flag: true
server: envoy
vary: Origin
...

SAS Viya Platform Requirement for the Contour Ingress Controller

For compatibility with the SAS Viya platform, the compression setting for the Contour ingress controller must be disabled.

If you encounter the symptoms described and your environment is using Contour, ensure that compression is disabled by completing the steps described in the Contour Ingress Controller Errors section of the SAS® Viya® Platform Operations guide.

Workaround 

If you must keep compression enabled because other applications depend on it, complete these steps:

Set the environment variable SAS_STUDIO_CONVERT_ETAGS=true on the sas-studio deployment:

kubectl -n viya set env deployment sas-studio SAS_STUDIO_CONVERT_ETAGS=true

Install all available patches if you run any of the following SAS Studio versions: