Error in deployment for environment test. The revision is deployed and traffic can flow, but flow may be impaired. Unexpected error occurred while processing updates.
If the message says traffic can flow, but flow may be impaired, it means the proxy might have been deployed to some, but not to all available Message Processors or Routers (a partial deployment).
There are two typical causes for this error:
Message Processor is out of memory: A Message Processor ran out of Java heap space resulting in the deployment failure.
Error in the API proxy bundle: Usually this means there is a problem with the API proxy bundle that you are deploying and the problem is interfering with the deployment. Sometimes a misconfigured policy, target server, or other proxy entity. You may be able to diagnose and fix this problem yourself. See Has anything changed?
See What you can do below for more information.
In the Edge UI, you will see an error message when you try to deploy a proxy:
Edge Private Cloud
If you are on Edge Private Cloud, you may be able to diagnose and resolve this problem yourself. For troubleshooting instructions, go to the Edge Public Cloud Troubleshooting Guide and locate the section that describes this error. If the problem persists, contact Apigee Support. See also What to include when you contact Tech Support or the Community.
Edge Public Cloud
If you are on Edge Public Cloud, you may need expert help from Apigee to resolve this error. However, you can try the steps outlined in the Troubleshooting section below before contacting Apigee Support or posting the issue to the Apigee Community. See also What to include when you contact Tech Support or the Community.
For Cloud customers, check the Apigee status page for outages
Deployment errors can occur when there is an outage in Edge for the Cloud. Use the following URL to check the current Edge status to see if there is an outage: https://status.apigee.com
Force undeploy and redeploy
In some cases, undeploying and redeploying the proxy revision will correct the problem. Apigee recommends that you do a forced undeploy using the Deployments API with the parameter force=true. If the forced undeploy works, try redeploying the proxy.
Create a new proxy revision
If undeploy/redeploy does not work, try deploying the proxy as a new revision. Sometimes if you delete certain policies from a proxy and then redeploy as the same revision, you can get a deployment error. See About revisions.
Check the deployment status of your proxy
Use the Deployments API to check the deployment status of your proxy to the Message Processors and routers in your environment. This step can indicate the source of the problem. For example, it'll show you which Message Processors or routers have errors.
If necessary, you can always include the response information when you contact Apigee Support or post your issue on the Apigee Community. See also What to include when you contact Tech Support or the Community.
Create and deploy a simple pass-through proxy
Create a "hello world" proxy and deploy it. If it deploys successfully, then it's possible the root of the problem is a misconfiguration in the proxy that will not deploy. See the next section, Has anything changed?.
There could be a problem with the proxy bundle that you are deploying. It could be that a policy is misconfigured or you're deploying a Java Callout that does not include one or more dependencies. If you're using Node.js, check the Node.js logs to see if there were any errors.
Consider if anything changed recently. If you use a source control system, try diffing the source files between the current failing proxy and a version that you know worked. For example:
Look at the API Proxy History in the UI. This will show you the last revision that deployed successfully.
In source control, diff the current revision against the last revision that deployed successfully. This may give you an idea of what changed and provide troubleshooting clues.