rgw lc does not delete objects that do not have the same tags
It is possible that object will have multiple tags more than the rule that applied on.
Example 4: Tag-based Filtering and Resulting Conflicting Lifecycle Actions
Suppose that you have the following lifecycle policy that has two rules, each specifying a tag filter:
Rule 1 specifies a tag-based filter (tag1/value1). This rule directs Amazon S3 to transition objects to the GLACIER storage class 365 days after creation.
Rule 2 specifies a tag-based filter (tag2/value2). This rule directs Amazon S3 to expire objects 14 days after creation.
The lifecycle configuration is shown following:
The policy is fine, but if there is an object with both tags, then S3 has to decide what to do. That is, both rules apply to an object and in effect you are directing Amazon S3 to perform conflicting actions. In this case, Amazon S3 expires the object 14 days after creation. The object is removed, and therefore the transition action does not come into play.
Object is not being deleted if not all tags exactly the same as in the rule.