Bug 1654820

Summary: rgw: Lifecycle doesn't remove delete markers
Product: [Red Hat Storage] Red Hat Ceph Storage Reporter: Matt Benjamin (redhat) <mbenjamin>
Component: RGWAssignee: Matt Benjamin (redhat) <mbenjamin>
Status: CLOSED CURRENTRELEASE QA Contact: Tejas <tchandra>
Severity: high Docs Contact:
Priority: unspecified    
Version: 3.2CC: cbodley, ceph-eng-bugs, hnallurv, jbrier, kbader, mbenjamin, pasik, sweil
Target Milestone: rc   
Target Release: 3.*   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Known Issue
Doc Text:
.Delete markers are not removed with a lifecycle configuration In certain situations after deleting a file and a lifecycle triggers, delete markers are not removed. There is no workaround at this time.
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-08-23 07:12:20 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1629656    

Description Matt Benjamin (redhat) 2018-11-29 18:45:06 UTC
From upstream tracker:
"""
I have a versioned bucket with a lifecycle. Files get deleted and delete markers added. A lifecycle configuration deletes the non-current versions, but doesn't remove the delete markers.

Lifecycle configuration:

{ 
  "Rules": [
    {
      "ID": "Test expiry 2",
      "Status": "Enabled",
      "Prefix": "",
      "NoncurrentVersionExpiration": {
        "NoncurrentDays": 1
      },
      "Expiration": {
        "ExpiredObjectDeleteMarker": true
      }
    }
  ]
}

I delete a file in the bucket. Delete marker is added:

{
    "DeleteMarkers": [
        {
            "Owner": {
                "DisplayName": "Sean Test", 
                "ID": "seantest" 
            }, 
            "IsLatest": true, 
            "VersionId": "H7pb8jPght20pKQd.b-m3nZPEvdW.Vd", 
            "Key": "00008000.txt", 
            "LastModified": "2018-10-16T15:29:48.105Z" 
        }
    ], 
    "Versions": [
        {
            "LastModified": "2018-10-16T14:36:54.717Z", 
            "VersionId": "bZEYkUaJLcgVFEZCWAOZwvpPrCHBhRt", 
            "ETag": "\"f262eaa559613b0eaaf53983ff880ec9\"", 
            "StorageClass": "STANDARD", 
            "Key": "00008000.txt", 
            "Owner": {
                "DisplayName": "Sean Test", 
                "ID": "seantest" 
            }, 
            "IsLatest": false, 
            "Size": 243
        }
    ]
}

When the lifecycle triggers, I get this:

{
    "DeleteMarkers": [
        {
            "Owner": {
                "DisplayName": "Sean Test", 
                "ID": "seantest" 
            }, 
            "IsLatest": true, 
            "VersionId": "H7pb8jPght20pKQd.b-m3nZPEvdW.Vd", 
            "Key": "00008000.txt", 
            "LastModified": "2018-10-16T15:29:48.105Z" 
        }
    ]
}

So why didn't the lifecycle remove the delete markers? The non-current version was removed.
"""

Comment 5 Giridhar Ramaraju 2019-08-05 13:08:29 UTC
Updating the QA Contact to a Hemant. Hemant will be rerouting them to the appropriate QE Associate. 

Regards,
Giri

Comment 6 Giridhar Ramaraju 2019-08-05 13:09:57 UTC
Updating the QA Contact to a Hemant. Hemant will be rerouting them to the appropriate QE Associate. 

Regards,
Giri

Comment 8 Red Hat Bugzilla 2023-09-14 04:43:06 UTC
The needinfo request[s] on this closed bug have been removed as they have been unresolved for 1000 days