dramaticlly commented on code in PR #18473:
URL: https://github.com/apache/iceberg/pull/18473#discussion_r4253620008
##########
core/src/main/java/org/apache/iceberg/rest/ErrorHandlers.java:
##########
@@ -337,6 +338,8 @@ public void accept(ErrorResponse error) {
case 400:
if
(IllegalArgumentException.class.getSimpleName().equals(error.type())) {
throw new IllegalArgumentException(error.message());
+ } else if
(ValidationException.class.getSimpleName().equals(error.type())) {
+ throw new ValidationException("%s", error.message());
Review Comment:
worth calling out that the risk of losing the RESTException supertype here
as ValidationException only extends RuntimeException
##########
core/src/test/java/org/apache/iceberg/rest/TestErrorHandlers.java:
##########
@@ -71,6 +73,48 @@ public void errorHandlerWithCodeAndTypeOnly() {
.hasMessage("Unable to process (code: 422, type: ValidationException):
null");
}
+ @Test
+ void badRequestWithValidationExceptionType() {
+ ErrorResponse error =
+ ErrorResponse.builder()
+ .responseCode(400)
+ .withType("ValidationException")
+ .withMessage("Table property commit.retry.num-retries must have
integer value")
+ .build();
+
+ assertThatThrownBy(() -> ErrorHandlers.tableErrorHandler().accept(error))
Review Comment:
do we need a coverage on tableCommitHandler as well?
--
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]