Azure / Azure/apiops

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

Offen
#827 3 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
C#
Sterne
448
Forks
247
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

### 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.

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Beginnen Sie damit, die Bereitstellung von APIOps Publisher mit specification.yaml und apiInformation.json zu reproduzieren, während Sie einen unveränderten Endpunkt anfordern. Überprüfen Sie das Verhalten bei In-Place-Updates und API-Revisionen und dokumentieren Sie anschließend, ob die GatewayError-Unterbrechung erwartet wird und welche unterstützten Hinweise für Bereitstellungen ohne Ausfallzeit gelten.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
azure, openapi
Bereich
api, cloud, devops
Issue-Typ
Bug
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
25/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.