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: [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]