This is an automated email from the ASF dual-hosted git repository.
blue pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/iceberg.git
The following commit(s) were added to refs/heads/main by this push:
new d80d7da3d0 Core: Handle IAE in default error handler (#9225)
d80d7da3d0 is described below
commit d80d7da3d0a956e1b6aeadbe26e0cb3f3ef2fb25
Author: Eduard Tudenhoefner <[email protected]>
AuthorDate: Tue Dec 5 19:04:47 2023 +0100
Core: Handle IAE in default error handler (#9225)
---
core/src/main/java/org/apache/iceberg/rest/ErrorHandlers.java | 3 +++
core/src/test/java/org/apache/iceberg/view/ViewCatalogTests.java | 2 +-
2 files changed, 4 insertions(+), 1 deletion(-)
diff --git a/core/src/main/java/org/apache/iceberg/rest/ErrorHandlers.java
b/core/src/main/java/org/apache/iceberg/rest/ErrorHandlers.java
index 846820a99d..d4083420ef 100644
--- a/core/src/main/java/org/apache/iceberg/rest/ErrorHandlers.java
+++ b/core/src/main/java/org/apache/iceberg/rest/ErrorHandlers.java
@@ -202,6 +202,9 @@ public class ErrorHandlers {
public void accept(ErrorResponse error) {
switch (error.code()) {
case 400:
+ if
(IllegalArgumentException.class.getSimpleName().equals(error.type())) {
+ throw new IllegalArgumentException(error.message());
+ }
throw new BadRequestException("Malformed request: %s",
error.message());
case 401:
throw new NotAuthorizedException("Not authorized: %s",
error.message());
diff --git a/core/src/test/java/org/apache/iceberg/view/ViewCatalogTests.java
b/core/src/test/java/org/apache/iceberg/view/ViewCatalogTests.java
index 8cb77a7762..8280a200d6 100644
--- a/core/src/test/java/org/apache/iceberg/view/ViewCatalogTests.java
+++ b/core/src/test/java/org/apache/iceberg/view/ViewCatalogTests.java
@@ -252,7 +252,7 @@ public abstract class ViewCatalogTests<C extends
ViewCatalog & SupportsNamespace
.withQuery(trino.dialect(), trino.sql())
.withQuery(trino.dialect(), trino.sql())
.create())
- .isInstanceOf(Exception.class)
+ .isInstanceOf(IllegalArgumentException.class)
.hasMessageContaining(
"Invalid view version: Cannot add multiple queries for dialect
trino");
}