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]

Reply via email to