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]

Reply via email to