Azure / Azure/azure-cli

Application Gateway - CanceledAndSupersededDueToAnotherOperation issue

Open
#21,156 20 comments 4 reactions 2 assignees Claimed by @necusjz View on GitHub
act-quality-productivity-squad customer-reported needs-team-attention Network Service Attention
Dominant language
Python
Stars
4.6k
Forks
3.5k
Avg merge
3d 2h
Merged PRs (30d)
60

Description

We have an Application Gateway that we're using with several teams.
Obviously, we have setup several CI/CD pipelines (with using the AZ CLI) that deploy our resources and creates our entrypoint for the Application Gateway.

We have started to notice that when we run several commands against the gateway (at the same time), we get the following error:

```
ERROR: (Canceled) Operation was canceled.
Code: Canceled
Message: Operation was canceled.
Exception Details: (CanceledAndSupersededDueToAnotherOperation) Operation PutApplicationGatewayOperation (6cc97f54-b83d-46cd-83eb-be3b71a87b39) was canceled and superseded by operation PutApplicationGatewayOperation (f1138d5e-3e2c-4592-b178-b9655c5e1033).
Code: CanceledAndSupersededDueToAnotherOperation
Message: Operation PutApplicationGatewayOperation (6cc97f54-b83d-46cd-83eb-be3b71a87b39) was canceled and superseded by operation PutApplicationGatewayOperation (f1138d5e-3e2c-4592-b178-b9655c5e1033).
Returncode: 1
```

We've tested this and it seems to be that indeed, the first request gets cancelled, which ends in a failed pipeline and no entrypoint created for the Application Gateway. This keeps us from being able to run our pipelines at the same time, since it often ends in an error. We've been running these pipelines for the last few years, but haven't noticed this behaviour before.

The az cli commands that we're using are all part of the `az network application-gateway` endpoints, for example:
- `az network application-gateway address-pool create`
- `az network application-gateway probe create`

I would expect that I would be able to add/update several listeners/backend pools/etc for the gateway at the same time, without the first operation being cancelled.

So the question we have is:

Did something change with these calls?
Is this the expected behaviour?
And could someone explain why this is/should be the case?

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.