comphead commented on code in PR #3263:
URL: https://github.com/apache/iceberg-rust/pull/3263#discussion_r4157597687
##########
crates/storage/opendal/src/lib.rs:
##########
@@ -391,10 +476,46 @@ impl OpenDalStorage {
// Transient errors are common for object stores; we retry temporary
// failures with exponential backoff. The retry behavior also
// benefits non-object-store backends.
- let operator =
operator.layer(TimeoutLayer::new()).layer(RetryLayer::new());
+ let operator = operator
+ .layer(TimeoutLayer::new().with_io_timeout(Duration::from_millis(
Review Comment:
Added `test_io_timeout_reaches_timeout_layer`, which stalls every IO call
with `ConcurrentLimitLayer::new(0)` under paused tokio time (`test-util`, dev
only), so a read fails with `timeout: 45` from a 45000 ms setting. Reverting
this line to a bare `TimeoutLayer::new()` makes it fail with `timeout: 10`.
##########
crates/storage/opendal/src/resolving.rs:
##########
@@ -377,6 +388,18 @@ mod tests {
}
}
+ #[cfg(feature = "opendal-s3")]
+ #[test]
+ fn test_resolve_propagates_io_timeout() {
Review Comment:
Done. The test is no longer S3-gated and checks every enabled scheme, so a
memory-only build runs it, and handing the `memory` arm a default config makes
it fail.
--
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]