Bug #62013
closedObject with null version when using versioning and transition
100%
Description
Hi, I accidentally met this bug when trying to use transition on a bucket with versioning enabled. It will create 2 objects with the same key and null versionID
Steps to reproduce:
1. Create a bucket
2. Put an object
3. Enable bucket versioning
4. Add a lifecycle for transition to another storage class
5. After the lifecycle completed, we can see 2 objects with the same key and null versionID, like the following:
- mc ls dev/huybucket8 --versions
[2023-07-14 08:50:59 +07] 6B COLD null v2 PUT file1.text
[2023-07-14 08:50:59 +07] 6B COLD null v1 PUT file1.text
Bonus: If I also add a noncurrent expiration rule, the radosgw will repeatedly report this log
lifecycle: RGWLC::process() failed to acquire lock on lc.9, sleep 5, try again
lifecycle: RGWLC::process() failed to acquire lock on lc.8, sleep 5, try again
Updated by Huy Nguyen 10 months ago
Update: I also can't delete the remaining object file1.text or expire it
Updated by Casey Bodley 9 months ago
- Status changed from New to Fix Under Review
- Backport set to pacific quincy reef
- Pull request ID set to 52684
Updated by Huy Nguyen 9 months ago
Thanks, could you check out this bug too: https://tracker.ceph.com/issues/62234
Updated by J. Eric Ivancich 8 months ago
- Status changed from Fix Under Review to Pending Backport
Updated by Backport Bot 8 months ago
- Copied to Backport #62751: pacific: Object with null version when using versioning and transition added
Updated by Backport Bot 8 months ago
- Copied to Backport #62752: reef: Object with null version when using versioning and transition added
Updated by Backport Bot 8 months ago
- Copied to Backport #62753: quincy: Object with null version when using versioning and transition added
Updated by Konstantin Shalygin 6 months ago
- Status changed from Pending Backport to Resolved
- % Done changed from 0 to 100