[
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)