[Question]T emporary loss of service when updating OpenAPI specification (removing an operation)

Open
#827 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
25/100
Issue type
Bug
Clarity
Needs clarification
Activity status
Stale
Tech stack
azure, openapi
Domain
api, cloud, devops

Research direction

Start by reproducing the APIOps Publisher deployment with specification.yaml and apiInformation.json while requesting an unchanged endpoint. Review the in-place update and API revision behavior, then document whether the GatewayError interruption is expected and what supported zero-downtime deployment guidance applies.

Written by the indexing model from the issue text.

Description

Release version

v6.0.2

Question Details

We are experiencing a temporary loss of service when deploying an update to an existing API using APIOps, even for a minimal OpenAPI change.

When we update specification.yaml (for example, removing a single operation) and deploy using APIOps, the API becomes unavailable for a short period during the deployment, although it recovers once the deployment finishes.

During this window, requests fail at the APIM Gateway with the following error:

GatewayError:
at forward-request

This behavior is consistently reproducible in our environment.

Is this temporary gateway failure during OpenAPI updates an expected behavior when using APIOps?

If so, is there a recommended zero-downtime approach for updating OpenAPI specifications with APIOps (for example, using API revisions)?

Thanks in advance for your help.

Expected behavior

For an API deployed on APIM Enterprise SKU, we would expect that:
Updating an OpenAPI specification (even removing an operation)
Does not cause a temporary service interruption

Actual behavior

During the APIOps deployment:

Requests to the API fail temporarily

APIM Gateway returns:

GatewayError:
at forward-request

Once the deployment completes, the API works correctly again

Reproduction Steps
  1. Have an existing API deployed in Azure API Management (Enterprise SKU) using APIOps.

    • The API is already serving traffic correctly.
    • Backend configuration (serviceUrl) is defined in apiInformation.json.
    • No API revisions are used (in-place update).
  2. Modify only the OpenAPI specification (specification.yaml):

    • Remove a single operation (endpoint).
    • Do not change apiInformation.json, policies, products, or backend configuration.
  3. Deploy the changes using the APIOps Publisher (same pipeline and configuration as previous deployments).

  4. While the deployment is running, send requests to existing (unchanged) endpoints of the API.

  5. Observe that during the deployment window, requests temporarily fail at the APIM Gateway with the following error:

    GatewayError:
    at forward-request

  6. Once the APIOps deployment finishes, the API starts working correctly again without any further changes.

Dominant language
C#
Stars
448
Forks
247
PR merge metrics
No merged PRs in 30d

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from Azure/apiops

All issues in Azure/apiops

Similar issues

More C# issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.