liurenjie1024 commented on code in PR #53:
URL: https://github.com/apache/iceberg-rust/pull/53#discussion_r1312621921


##########
crates/iceberg/src/error.rs:
##########
@@ -44,6 +44,10 @@ pub enum ErrorKind {
     ///
     /// This error is returned when given iceberg feature is not supported.
     FeatureUnsupported,
+    /// Error during io operation.
+    ///
+    /// This error is returned when doing io operations.
+    IoError,

Review Comment:
   As a `FileIO` module, I don't think we should introduce `TableNotFound`, or  
`TablePermissionDenial ` error, it should introduce error for  file not found 
or there is no permission to operator on file/dir. But I do admit that 
converting all opendal error into `IoError` would be too general. In fact when 
dealing with io, there are two kinds of error:
   
   1. Unrecoverable: permission denied, file not found, operation not 
supported, etc. These errors should be `Unexpected`.
   2. Recoverable: rate limit reached, timeout error, network failure. In this 
case, we should report it to caller and let caller to decide what to do.
   
   I'll refine this later if we reached an agreement that this the correct 
abstraction.



-- 
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: issues-unsubscr...@iceberg.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org
For additional commands, e-mail: issues-h...@iceberg.apache.org

Reply via email to