This topic describes the causes of errors returned with HTTP status code 409 and the solutions to these errors.

BucketAlreadyExists

  • Error message: The requested bucket name is not available.
  • Cause: The error message returned because the specified bucket already exists or is owned by another user.
  • Solution: Specify another name for the bucket that you want to create. For more information about how to create a bucket, see Create buckets.

BucketNotEmpty

  • Error message: The bucket you tried to delete is not empty.
  • Cause: The error message returned because the bucket to delete contains objects, parts generated by incomplete multipart upload tasks, or LiveChannels.
  • Solution:
    • Delete all objects in the bucket and then try to delete the bucket again.

      For more information about how to delete objects, see Delete objects. To delete a large number of objects, we recommend that you configure lifecycle rules to delete multiple objects. For more information, see Configure lifecycle rules.

    • Delete the parts generated by multipart upload or resumable upload tasks.

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

    • Delete all LiveChannels in the bucket.

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

ObjectNotAppendable

  • Error message: The object is not appendable.
  • Cause: The error message returned because the object on which you want to perform the AppendObject operation is not an append object.
  • Solution: Ensure that the object on which you perform the AppendObject operation is an append object. OSS objects can be categorized into three types based on the upload method: normal objects, append objects, and multipart objects. The AppendObject operation can be performed only on append objects.

PositionNotEqualToLength

  • Error message: Position is not equal to file length.
  • Cause:
    • The error message returned because the value of position in the request does not match the current object length.
    • The request is successful in the following scenarios: 1. The value of position is 0 and the length of an append object with the same name is 0. 2. The value of position is 0 and the append object with the same name does not exist. In other cases, this error is returned because the position and the length of the object do not match.
  • Solution: You can obtain the position for the next operation from the response header x-oss-next-append-position, and then send the next request. Multiple requests may be sent concurrently, even if you set the value of x-oss-next-append-position in a request, the request may still fail because the value is not updated immediately. See AppendObject to handle the problem.

FileImmutable

  • Error message: The object you specified is immutable.
  • Cause: The error message returned because the object that you want to delete or modify is protected by a retention policy.
  • Solution: Ensure that the object to delete or modify is not protected. See GetBucketWorm to handle the problem.