[ 
https://issues.apache.org/jira/browse/HIVE-29563?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Shohei Okumiya resolved HIVE-29563.
-----------------------------------
    Fix Version/s: 4.3.0
       Resolution: Fixed

Merged.
https://github.com/apache/hive/pull/6425

> Iceberg REST Catalog's error logs are too verbose
> -------------------------------------------------
>
>                 Key: HIVE-29563
>                 URL: https://issues.apache.org/jira/browse/HIVE-29563
>             Project: Hive
>          Issue Type: Improvement
>          Components: Iceberg integration, Standalone Metastore
>    Affects Versions: 4.2.0
>            Reporter: Shohei Okumiya
>            Assignee: Shohei Okumiya
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: 4.3.0
>
>
> The current REST Catalog implementation logs details even for user-side 
> errors.
> h1. Reproduction
> First, we will launch a metastore.
> {code}
> $ docker run --rm --name hive-standalone-metastore \
>   -p 9083:9083 \
>   -p 9001:9001 \
>   apache/hive:standalone-metastore-nightly
> {code}
> Then, we will trigger a 404 error.
> {code}
> $ curl -i 
> http://localhost:9001/iceberg/v1/namespaces/default/tables/does_not_exist
> HTTP/1.1 404 Not Found
> Date: Sun, 12 Apr 2026 10:12:58 GMT
> Content-Type: application/json
> Content-Length: 2884
> {"error":{"message":"Table does not exist: default.does_not_exist
> {code}
> We can see a long stack trace on the HMS container.
> {code}
> 2026-04-12T10:12:58,766 ERROR [qtp2013205710-64] rest.HMSCatalogServlet: 
> Error processing REST request
> org.apache.iceberg.exceptions.RESTException: Unhandled error: 
> ErrorResponse(code=404, type=NoSuchTableException, message=Table does not 
> exist: default.does_not_exist)
> org.apache.iceberg.exceptions.NoSuchTableException: Table does not exist: 
> default.does_not_exist
>       at 
> org.apache.iceberg.BaseMetastoreCatalog.loadTable(BaseMetastoreCatalog.java:55)
>       at 
> org.apache.iceberg.rest.CatalogHandlers.loadTable(CatalogHandlers.java:329)
>       at 
> org.apache.iceberg.rest.HMSCatalogAdapter.loadTable(HMSCatalogAdapter.java:297)
>       at 
> org.apache.iceberg.rest.HMSCatalogAdapter.handleRequest(HMSCatalogAdapter.java:447)
>       at 
> org.apache.iceberg.rest.HMSCatalogAdapter.execute(HMSCatalogAdapter.java:506)
>       at 
> org.apache.iceberg.rest.HMSCatalogServlet.service(HMSCatalogServlet.java:75)
>       at javax.servlet.http.HttpServlet.service(HttpServlet.java:584)
>       at 
> org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:799)
>       at 
> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:554)
>       at 
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
>       at 
> org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:772)
>       at 
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
>       at 
> org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:235)
>       at 
> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1440)
>       at 
> org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188)
>       at 
> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:505)
>       at 
> org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186)
>       at 
> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1355)
>       at 
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
>       at 
> org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:191)
>       at 
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
>       at org.eclipse.jetty.server.Server.handle(Server.java:516)
>       at 
> org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:487)
>       at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:732)
>       at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:479)
>       at 
> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:277)
>       at 
> org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)
>       at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)
>       at org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104)
>       at 
> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:883)
>       at 
> org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1034)
>       at java.base/java.lang.Thread.run(Unknown Source)
>       at 
> org.apache.iceberg.rest.HMSCatalogAdapter.execute(HMSCatalogAdapter.java:519)
>       at 
> org.apache.iceberg.rest.HMSCatalogServlet.service(HMSCatalogServlet.java:75)
>       at javax.servlet.http.HttpServlet.service(HttpServlet.java:584)
>       at 
> org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:799)
>       at 
> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:554)
>       at 
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
>       at 
> org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:772)
>       at 
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
>       at 
> org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:235)
>       at 
> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1440)
>       at 
> org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188)
>       at 
> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:505)
>       at 
> org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186)
>       at 
> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1355)
>       at 
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
>       at 
> org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:191)
>       at 
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
>       at org.eclipse.jetty.server.Server.handle(Server.java:516)
>       at 
> org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:487)
>       at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:732)
>       at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:479)
>       at 
> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:277)
>       at 
> org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)
>       at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)
>       at org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104)
>       at 
> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:883)
>       at 
> org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1034)
>       at java.base/java.lang.Thread.run(Unknown Source)
> {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to