danielcweeks commented on pull request #4342: URL: https://github.com/apache/iceberg/pull/4342#issuecomment-1075425376
@jackye1995 I think we need to really clarify the use cases and make sure we're coming up with a solution that really addresses those. This may be a good topic for the next sync as well, since it's getting a little involved in terms of object lifecycle management in S3. I would say the typical uses cases would be: *Versioned Bucket:* Life-cycle policy for non-current versions+delete markers with direct delete as there's no requirement for tags. *Non-Versioned Bucket:* Life-cycle policy for tagged objects and no direct delete (deleting after tagging doesn't really make sense). I'm not sure if there's a use case for both versioned bucket and tagging for delete. I would also question the use of life-cycle for transitioning tagged objects since there's a cost associated with the tagging, the transition and, depending on the tier, a minimum charge. It feels like that the use case where it becomes more cost effective gets narrow pretty quickly (as compared to just versioned bucket). Given that there are these different strategies, we might actually want to separate this behavior into an interface for `DeletionStrategy` where we can provide implementations that are targeted to the use case. That would also allow us to isolate some things (like the executor service which is currently created whether it's used or not). -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
