rdblue commented on pull request #4342: URL: https://github.com/apache/iceberg/pull/4342#issuecomment-1073369730
@jackye1995, for case 1, I thought tags would remain on objects in versioned buckets that are deleted with a delete marker. So you could use a tag to control when the old version gets cleaned up, but logically delete it immediately. Isn't that a valid case? For the question about `s3.delete-enabled` or `io.delete-enabled`, I would go with `s3.delete-enabled` although I could be convinced otherwise. First, if the intent is to replace the S3 delete with a tag operation instead, then it seems like you wouldn't want to disable deletes across all storage for a table. If you have files stored across multiple schemes, then it doesn't make sense to disable deletes for other schemes. Second, `io.delete-enabled` would address just use case 4. In that case, why delegate to `FileIO` to skip the delete rather than just not calling delete in the library? I don't think we would want `io.delete-enabled` because it would be impossible to make sure all of the `FileIO` implementations implement it consistently. Plus, you'd still have the problem where you probably don't want to turn it on in all object stores at once. You may have a different orphan file cleanup procedure for each one, or maybe for one you don't have a reliable prefix to list. -- 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]
