This topic describes the reason why objects in a bucket are not deleted or why the storage class of the objects is not converted after the time period that is specified in lifecycle rules.

Rule details

You created a lifecycle rule, and the objects that are specified in the rule are deleted 30 days after the objects are last modified.

Issue description

The objects that match the rule are not deleted 30 days after the objects are last modified.

Cause

The expiration date of the objects that you specified is different from the actual expiration date.

After you create a lifecycle rule, OSS rounds up the last modification time of an object based on UTC. After the specified time period elapses, OSS determines that the object has expired. Then, OSS deletes the object based on the lifecycle rule.

Example: An object is last modified at 23:00:00 on October 27, 2022 (UTC+8). The last modification time of the object is rounded up to 2022-10-28 00:00:00, and the expiration date of the object is 2022-11-28 00:00:00. The time when the object expires is 2022-11-28 08:00:00 (UTC+8). After an object expires, the lifecycle rule that is used to delete the object takes effect before 08:00:00 on the next day. Therefore, the object is deleted before 08:00:00 on November 29, 2022 (UTC+8).