This topic describes the types of error messages returned with HTTP status code 409, and the common causes and solutions to these errors.

BucketAlreadyExists

The requested bucket name is not available

  • Cause: The specified bucket already exists or is owned by another user.

  • Solution: Specify another name for the bucket. For more information about how to create a bucket, see Create buckets.

Bucket already exists can't modify location

  • Cause: The region of an existing bucket cannot be changed.

  • Solution: Create a bucket in the desired region.

Cannot modify existing bucket's storage class or Bucket already exists can't modify storage type

  • Cause: The storage class of an existing bucket cannot be changed.

  • Solution: Create a bucket that has the desired storage class.

Bucket already exists can't modify data redundancy type

  • Cause: The disaster recovery type of an existing bucket cannot be changed.

  • Solution: Create a bucket of the desired disaster recovery type.

BucketNotEmpty

The bucket you tried to delete is not empty

  • Cause: The bucket that you want to delete contains objects, parts generated by uncompleted multipart upload tasks, or LiveChannels.
  • Solutions:
    • Delete all objects in the bucket before you delete the bucket.

      For more information about how to delete objects in a bucket, see Delete objects. If your buckets store a large number of objects, we recommend that you configure lifecycle rules to delete objects in batches. For more information, see Configure lifecycle rules.

    • Delete the parts generated by multipart upload tasks or resumable upload tasks in the bucket before you delete the bucket.

      For more information about how to delete parts in a bucket, see Manage parts.

    • Delete all LiveChannels in the bucket and delete the bucket.

      For more information about how to delete LiveChannels in a bucket, see DeleteLiveChannel. For more information about LiveChannels, see RTMP-based stream ingest.

CnameAlreadyExists

The cname has been attatched to your other bucket already

  • Causes:
    • The custom domain name is mapped to another bucket that belongs to the current Alibaba Cloud account.

      Problem description: The value of the CnameType parameter in the error message is CNAME_OSS.

    • The custom domain name is used for image processing.

      Problem description: The value of the CnameType parameter in the returned error message is CNAME_IMG.

  • Solutions:
    • If the value of the CnameType parameter in the error message is CNAME_OSS, perform the following steps:
      1. Remove the mapping between the custom domain name and other buckets.
        1. Log on to the OSS console.
        2. In the left-side navigation pane, click Buckets. On the Buckets page, click the name of the desired bucket.
        3. In the left-side navigation tree, choose Bucket Settings > Domain Names.
        4. On the Domain Names page, find the custom domain name and click Manage Mapping Configurations in the Actions column.
        5. In the Manage Mapping Configurations panel, click Unbind.
          Important After the mapping between the custom domain name and the bucket is removed, all services that use the custom domain name cannot be accessed.
        6. Click OK.
      2. Map the custom domain name to the specified bucket.

        For more information about how to map a custom domain name, see Map custom domain names.

    • If the value of the CnameType parameter in the error message is CNAME_IMG, perform the following steps:
      1. Remove the mapping between the custom domain name and other buckets.
        1. Log on to the OSS console.
        2. In the left-side navigation pane, click Buckets. On the Buckets page, click the name of the desired bucket.
        3. In the left-side navigation tree, choose Data Processing > Image Processing (IMG).
        4. On the Image Processing (IMG) page, click Unbind Custom Domain Name.
          Important
          • By default, the custom domain name displayed on the Image Processing (IMG) page is the most recent custom domain name that is mapped to the bucket and is in the enabled state. Check whether you want to remove the mapping between the displayed custom domain name and the bucket.

            If the custom domain name is not displayed on the Image Processing (IMG) page, contact technical support.

          • After the mapping between the custom domain name and the bucket is removed, all services that use the custom domain name cannot be accessed.
      2. Map the custom domain name to the specified bucket.

        For more information about how to map a custom domain name, see Map custom domain names.

PositionNotEqualToLength

Position is not equal to file length

  • Causes:
    • The value of Position in the request does not match the length of the current object.
    • The request is successful in the following scenarios: 1. The value of Position is 0 and the length of an appendable object that has the same name is 0. 2. The value of Position is 0 and no appendable object that has the same name exists. In all other cases, this error message is returned because the value of Position and the length of the object do not match.
  • Solution: Obtain the value of Position for the next operation from the x-oss-next-append-position response header, and then send the next request. Multiple requests may be concurrently sent. In this case, even if you set the position header in a request to the value of x-oss-next-append-position in the response to the previous request, the request may still fail because the value is not immediately updated. For more information, see AppendObject.

FileAlreadyExists

The object you specified already exists and can not be overwritten

  • Cause: The specified object already exists and cannot be overwritten because the request contains the x-oss-forbid-overwrite=true header and the value of the header is true.
  • Solutions:

    Use the following methods to overwrite an existing object that has the same name in simple upload, multipart upload, and object copy:

    • Do not include the x-oss-forbid-overwrite header in the request or set this header to false.
    • Enable versioning for the bucket in which the object that you want to overwrite is stored. The overwritten object is stored as a previous version. You can restore a previous version at any time.

LiveChannelDisabled

Live channel is disabled by owner

  • Cause: Streams cannot be ingested to a disabled LiveChannel. If you are ingesting a stream to a LiveChannel that is in the disabled state, your client is disconnected from the LiveChannel after approximately 10 seconds.
  • Solution: Enable the LiveChannel before you ingest streams to the LiveChannel. For more information, see PutLiveChannelStatus.

ChannelStillLive

Live channel couldn't be updated or deleted when channel is live

  • Cause: You have attempted to update or delete a LiveChannel that is in the Live state, which indicates that the client is ingesting streams to the connected ingest URL. A LiveChannel in this state cannot be updated or deleted.
  • Solution: Update or delete the LiveChannel after the client finishes ingesting streams.

FileImmutable

The object you specified is immutable

  • Cause: You have attempted to delete or modify an object protected by a retention policy.
  • Solution: Delete or modify the object after the retention policy expires. Within the retention period of the retention policy, the objects in the bucket cannot be deleted or modified. You can call GetBucketWorm to query the retention period of a retention policy.

RestoreAlreadyInProgress

The restore operation is in progress

  • Cause: A RestoreObject request is submitted, and the object is being restored on the OSS server.
  • Solution: Do not repeatedly send RestoreObject requests.

KeyDisabled

The request was rejected because the key state is Disabled

  • Cause: The specified customer master key (CMK) is disabled.
  • Solution: Call the EnableKey operation to enable the CMK for encryption and decryption.

KeyPendingDeletion

The request was rejected because the key state is PendingDeletion

  • Cause: The specified CMK is in the PendingDeletion state.
  • Solution: Use another CMK for encryption and decryption. A CMK that is in the PendingDeletion state cannot be used to encrypt data, decrypt data, or generate data keys. After a CMK is deleted, it cannot be recovered. Data that is encrypted and data keys that are generated by using the CMK cannot be decrypted. Therefore, KMS allows you to onlyschedule key deletion tasks to prevent accidental deletion of CMKs. For more information, see ScheduleKeyDeletion. You can call the DisableKey operation to disable a CMK instead of deleting the CMK.

KeyPendingImport

The request was rejected because the key state is PendingImport

  • Cause: The specified CMK is in the PendingImport state.
  • Solution: Call the ImportKeyMaterial operation to import the key material. A CMK that is in the PendingImport state cannot be used to encrypt data, decrypt data, or generate data keys. For more information, see ImportKeyMaterial.

WORMConfigurationAlreadyExists

The WORM Configuration already exists

  • Cause: A retention policy has already been configured for the bucket.
  • Solution: If the existing retention policy is not locked, delete the existing retention policy. Then, configure a new retention policy for the bucket. You can configure only one retention policy for a bucket. For more information, see Retention policies.

InventoryConfigurationAlreadyExists

The Inventory Configuration already exists

  • Cause: You have configured an inventory whose name is the same as an existing inventory.
  • Solution: Specify an inventory whose name is globally unique in the bucket. You can call the GetBucketInventory operation to query the inventories of a bucket.

StaleFile

File is stale for this operation

  • Cause: You modify multiple object metadata or object tags at the same time.
  • Solution: Do not modify multiple object metadata or object tags at the same time.