Bug #55487
openbucket lifecycle for aborting old multipart uploads does not work on non-master multisite zone buckets
0%
Description
I have a two site multisite configuration with rgw buckets that replicate bucket data in both directions. On a given bucket, I have added a lifecycle config that aborts multipart uploads that have been active for over 7 days. This works fine for multipart uploads that were started on the master zone. However, If the multipart upload starts on the slave zone, it never gets aborted.
While I think I understand why this occurs, (I think it has to do with lifecycle operations perhaps only happening on the master zone and then getting replicated - but multipart uploads are specific to a zone), this is unfortunate as I have a misbehaving app that writes to buckets on the slave zone that now requires me to manually abort dozens of multipart uploads every few days.
A lifecycle would be great for this, but alas, it only works on the master zone.
I am using 16.2.8 on Rocky 8.5
I have attached a sample lifecycle policy. The policy does make it to the slave zone, but multipart uploads started on the slave zone never actually get aborted.
Files
Updated by Chris Durham almost 2 years ago
Chris Durham wrote:
I have a two site multisite configuration with rgw buckets that replicate bucket data in both directions. On a given bucket, I have added a lifecycle config that aborts multipart uploads that have been active for over 7 days. This works fine for multipart uploads that were started on the master zone. However, If the multipart upload starts on the slave zone, it never gets aborted.
While I think I understand why this occurs, (I think it has to do with lifecycle operations perhaps only happening on the master zone and then getting replicated - but multipart uploads are specific to a zone), this is unfortunate as I have a misbehaving app that writes to buckets on the slave zone that now requires me to manually abort dozens of multipart uploads every few days.
A lifecycle would be great for this, but alas, it only works on the master zone.I am using 16.2.8 on Rocky 8.5
I have attached a sample lifecycle policy. The policy does make it to the slave zone, but multipart uploads started on the slave zone never actually get aborted.
Argh, I am using 16.2.7 on Rocky 8.5, NOT 16.2.8....
Updated by Casey Bodley almost 2 years ago
- Related to Bug #44268: multisite/lc: lc doesn't run in the slave added
Updated by Casey Bodley almost 2 years ago
this is a known issue with metadata sync. the lifecycle policy does replicate, but not its entry in the 'lc list'. you can run 'radosgw-admin lc reshard fix' on the secondary zone to update the 'lc list'
Updated by Matt Benjamin almost 2 years ago
- Status changed from New to Triaged
- Assignee set to Matt Benjamin
Updated by Casey Bodley almost 2 years ago
@Matt Li: i guess RGWSI_Bucket_SObj::store_bucket_instance_info() and remove_bucket_instance_info() is where we'd want to update the 'lc list'. they're called from both metadata sync, and from local metadata writes