Version conflicts, concurrent writes, and precondition failures.
Last reviewed: March 1, 2026|17 mapped errors|Page 1 of 2
Conflict errors occur when current resource state no longer matches caller assumptions, commonly under concurrent writes or stale version tokens.
Provider-specific error pages mapped to this category (17 total). Showing 1-15.
CloudFront returns `CNAMEAlreadyExists` when an alternate domain name is already attached to another distribution, so the alias cannot be assigned again. CloudFront returns HTTP 409 for this conflict.
IAM returns `ConcurrentModification` when overlapping write operations target the same IAM resource at the same time, producing a control-plane conflict. IAM returns HTTP 409 for this error.
AWS DeleteConflict means the IAM resource cannot be deleted because subordinate entities are still attached (HTTP 409).
AWS DistributionAlreadyExists means the CallerReference is already associated with another CloudFront distribution request (HTTP 409).
AWS DistributionNotDisabled (Cloud Front Distribution Not Disabled) means the distribution must be disabled before it can be deleted. In the CloudFront API, this error returns HTTP 409.
AWS EntityAlreadyExists means the request attempted to create an IAM resource that already exists (HTTP 409).
AWS IdempotentParameterMismatch means a request was submitted with a client token that was previously used for a different operation with different parameters. The idempotency token is already associated with a prior request whose parameters do not match the current request.
Amazon S3 NoSuchUpload means the multipart upload ID in the request no longer identifies an active multipart upload session.
AWS ResourceConflictException is a deployment-time error that occurs when a Lambda function is already undergoing an update, deployment, or state transition. AWS serializes configuration changes, meaning a second update will be rejected if the first is still in progress.
Azure Conflict means ARM or a resource provider rejected an operation because the target resource is in a state, lock, or concurrent operation window that conflicts with the request.
ARM returns `InvalidResourceLocation` when a storage account name already exists in your subscription but in a different location than requested.
GCP ABORTED means the operation lost a concurrency race and must be restarted from a higher-level transaction or read-modify-write flow.
GCP FAILED_PRECONDITION means the request is valid, but the system state or prerequisite chain is not yet in a condition that allows the operation to run.
GCP INVALID_STATE usually means a Google Cloud service-specific state check rejected the request because the resource lifecycle, dependency, or operation state does not allow the action.
HTTP 409 Conflict means the request conflicts with the current state of the target resource.
Compare Guide
Choose 412 when If-Match or If-Unmodified-Since checks fail; choose 409 for state conflicts without failed precondition headers during concurrent updates.
Playbook
Use this playbook to separate true write conflicts from stale precondition failures, then apply safe re-fetch, optimistic-lock, and retry choices.
409 indicates a state conflict during processing, while 412 indicates a declared precondition (for example If-Match) evaluated to false.
Retries increase concurrent write pressure and can replay stale versions. Without fresh reads and merge logic, conflict rates rise quickly.
Use optimistic concurrency with version tokens and idempotency keys, then isolate high-contention keys with targeted partitioning strategies.