Updated on 2024-04-01 GMT+08:00

How Do I Manage Fragments?

Generated fragments take up storage space that is billable.

You can clear the fragments in a bucket on OBS Console or OBS Browser+.

If fragments are generated due to interruptions to multipart uploads on OBS Browser+, the fragments will disappear once those multipart uploads are continued and finished.

If fragments are generated due to interruptions or failures of multipart upload tasks, you can resume such tasks so that fragments will be cleared, or you can directly clear the fragments to save storage space.

Clearing Fragments by Resuming Interrupted or Failed Multipart Upload Tasks

On OBS, you can manage tasks. If a multipart upload task is interrupted or fails, you can use the following methods to resume the task. Once the task completes, fragments will be cleared.
Table 1 Methods for clearing fragments

Method

Operation Guide

OBS Browser+

OBS Browser+ provides a GUI-based task management page. You can click the upload task that generates the fragments and run the task. Once it completes, fragments are cleared.

obsutil

obsutil records failed tasks based on the result list. You can resume the failed upload task based on the task ID, which can eliminate fragments as well.

For details, see Resuming a Failed Upload Task.

SDKs

OBS SDK provides the resumable upload function by recording the upload progress. You can read the recorded progress and continue upload an interrupted or failed multipart upload task.

For details, see section "Resuming an Upload Task" in the SDK Reference.

Deleting Fragments Directly

If fragments are no longer needed, you can delete them in the following ways to save storage space:

The progress of an upload task may get lost if its fragment is deleted. Therefore, make sure the fragment is not needed before deleting it.

Table 2 Methods for deleting fragments

Tool

Method

OBS Console

OBS Console allows you to batch delete all selected fragments with one click.

For details, see Managing Fragments.

OBS Browser+

You can delete all of the selected fragments in a bucket in a batch. Alternatively, you can click Delete All above the list to delete all fragments.

obsutil

With obsutil, you can delete the failed or interrupted multipart upload task to delete fragments generated by the task. If a bucket has more than one multipart upload tasks, you need to delete all the multipart upload tasks to delete all fragments in the bucket.

For details, see Deleting a Multipart Upload Task.

API

You can delete fragments from a bucket through the following procedure:

  1. Use the Listing Initiated Multipart Uploads in a Bucket operation to list all the multipart upload tasks and obtain their upload IDs.
  2. Use the Canceling a Multipart Upload Task operation to cancel the multipart upload tasks. After these tasks are canceled, all fragments generated by them can be deleted.

SDKs

With OBS SDK, fragments are generated when parts of a multipart task are not merged. You can cancel the task to delete generated fragments. The procedure is as follows:

  1. Use the ObsClient.listMultipartUploads interface to list all multipart upload tasks and obtain their UploadId.
  2. Use the ObsClient.abortMultipartUpload interface to cancel the multipart upload task so that the generated fragments will be cleared.