Version conflicts, concurrent writes, and precondition failures.
Last reviewed: March 1, 2026|19 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 (19 total). Showing 1-15.
AWS BucketAlreadyExists (Bucket Already Exists) means the requested bucket name is not available because bucket names are globally shared. In Amazon S3, this error returns HTTP 409.
AWS BucketAlreadyOwnedByYou (Bucket Already Owned By You) means the bucket already exists and is owned by your AWS account. In Amazon S3, this error returns HTTP 409.
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.
AWS S3 NoSuchUpload is an error indicating that the specified Multipart Upload ID is invalid, expired, or has already been completed or aborted. It prevents further parts from being uploaded or the session from being finalized.
AWS S3 PreconditionFailed (HTTP 412) indicates that a conditional request was rejected because the object's current ETag or last-modified timestamp did not match the values specified in the If-Match or If-Unmodified-Since headers.
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.
ARM returns `Conflict` when the requested operation is not allowed for the resource in its current state.
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 was terminated by a concurrency conflict and should be retried from a higher-level transaction flow.
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.