This document describes what COS will and will not replicate after users enable in-cloud replication for a bucket.
What Will Be Replicated
If you enable the inter-cloud replication feature for a source bucket, COS will replicate the following content:
- Any new objects uploaded to the source bucket after the inter-cloud replication rule is added.
- Object attributes such as an object's metadata and version ID.
- Information on object operations, such as adding an object of the same name (equivalent to adding an object) and deleting an object.
- If you specify an object version to delete in the source bucket, that is, to specify the version ID, then this delete operation will not be replicated.
- If you add a bucket-level configuration, such as a lifecycle rule, to the source bucket, then any resulting object operations caused by such a configuration will not be replicated to the destination bucket.
Delete Operations in Inter-Cloud Replication
If you delete an object from a source bucket, the following inter-cloud replication actions will happen:
- For a DELETE request without a specified object version ID, COS will add a delete marker to the source bucket, and the inter-cloud replication feature will replicate this marker to the destination bucket. For more information on versioning and deleting markers, see the document Versioning Configuration.
- For a DELETE request with a specified object version ID, COS will delete the specified object version in the source bucket, but will not replicate this delete operation to the destination bucket. That is, COS will not delete this specified object version in the destination bucket. This action prevents malicious data deletion.
What Will Not Be Replicated
If you enable the inter-cloud replication feature for a source bucket, COS will not replicate the following content:
- The object content that already existed before the inter-cloud replication feature is enabled, that is, the existing data.
- The encryption information of an encrypted object, namely the encryption information that will be lost after the encrypted object is replicated.
- The object data recently added to the source bucket, if the data is replicated from another bucket.
- The updating actions to bucket-level configuration.
- The results after the execution of lifecycle configuration.
- The inter-cloud replication of object data among buckets is not transitive. If you set two inter-cloud replication rules at the same time, one of which specifies that bucket A is the source and bucket B is the destination, and the other specifies that bucket B is the source and bucket C is the destination, then the recently added object data in bucket A will only be replicated to bucket B, but not to bucket C.
Take the lifecycle configuration as an example. After you update the lifecycle configuration of the source bucket, COS will not apply this configuration to the destination bucket synchronously. - If you configure a lifecycle rule only for the source bucket, COS will add delete markers to expired objects there, but the markers will not be replicated to the destination bucket. If you want the expired objects to be deleted in the destination bucket as well, you need to configure the same lifecycle rule for the destination bucket additionally.
- The inter-cloud replication of object data among buckets is not transitive. If you set two inter-cloud replication rules at the same time, one of which specifies that bucket A is the source and bucket B is the destination, and the other specifies that bucket B is the source and bucket C is the destination, then the recently added object data in bucket A will only be replicated to bucket B, but not to bucket C.