RyanSkraba opened a new issue, #14704: URL: https://github.com/apache/iceberg/issues/14704
### Feature Request / Improvement `java.net.SocketTimeoutException` is one of the "non-retriable" exception classes in the REST catalog [ExponentialHttpRequestRetryStrategy](https://github.com/apache/iceberg/blob/c205503864b8dc0cf9562b30f47c3168f1cd86c9/core/src/main/java/org/apache/iceberg/rest/ExponentialHttpRequestRetryStrategy.java#L102) (as a subclass of `InterruptedIOException`). These exceptions could be recoverable. We have a specific Kafka Connect environment in the cloud, with a secure VPC and endpoints tunneled to a REST catalog, and we've observed infrequent, transient `SocketTimeoutException`s that cause the Iceberg Kakfa Connector sink task to fail and require a restart. Increasing the socket timeout doesn't solve the problem, but retrying the connection works immediately. We've patched this locally by allowing `SocketTimeoutException`s to be retriable (for idempotent methods of course), before the check that denies it as a subclass of `InterruptedIOException`. I suspect that most subclasses of `InterruptedIOException` are actually retriable, and we might want to remove it from the non-retriable list. ### Query engine Kafka Connect ### Willingness to contribute - [x] I can contribute this improvement/feature independently - [ ] I would be willing to contribute this improvement/feature with guidance from the Iceberg community - [ ] I cannot contribute this improvement/feature at this time -- 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]
