czy006 opened a new issue, #3021:
URL: https://github.com/apache/amoro/issues/3021

   ### What happened?
   
   AMS First Time Async Load Paimon External Catalog , If Use TableController 
Select table metadata info(getTableDetail),it will have NPE. Because of async 
info not to load optimizingStatus.
   
   ### Affects Versions
   
   0.7.0
   
   ### What table formats are you seeing the problem on?
   
   Paimon
   
   ### What engines are you seeing the problem on?
   
   AMS
   
   ### How to reproduce
   
   - TableController get getTableDetail Runtime NPE Fixed,Use 
OptimizingStatus.IDLE By default not get
   
   ### Relevant log output
   
   ```shell
   2024-07-10 17:53:56,975 ERROR [JettyServerThreadPool-32] 
[org.apache.amoro.server.dashboard.DashboardServer] [] - Failed to handle 
request
   java.lang.NullPointerException: null
           at 
java.util.concurrent.ConcurrentHashMap.get(ConcurrentHashMap.java:936) 
~[?:1.8.0_181]
           at 
org.apache.amoro.server.table.DefaultTableService.getRuntime(DefaultTableService.java:389)
 ~[amoro-ams-server-0.7-SNAPSHOT.jar:0.7-SNAPSHOT]
           at 
org.apache.amoro.server.dashboard.controller.TableController.getTableDetail(TableController.java:145)
 ~[amoro-ams-server-0.7-SNAPSHOT.jar:0.7-SNAPSHOT]
           at 
io.javalin.core.security.SecurityUtil.noopAccessManager(SecurityUtil.kt:20) 
~[javalin-4.6.8.jar:4.6.8]
           at 
io.javalin.http.JavalinServlet.addHandler$lambda-0(JavalinServlet.kt:96) 
~[javalin-4.6.8.jar:4.6.8]
           at 
io.javalin.http.JavalinServlet$lifecycle$2$1$1.invoke(JavalinServlet.kt:43) 
~[javalin-4.6.8.jar:4.6.8]
           at 
io.javalin.http.JavalinServlet$lifecycle$2$1$1.invoke(JavalinServlet.kt:43) 
~[javalin-4.6.8.jar:4.6.8]
           at 
io.javalin.http.JavalinServletHandler.executeNextTask(JavalinServletHandler.kt:99)
 ~[javalin-4.6.8.jar:4.6.8]
           at 
io.javalin.http.JavalinServletHandler.queueNextTaskOrFinish$lambda-1(JavalinServletHandler.kt:85)
 ~[javalin-4.6.8.jar:4.6.8]
           at 
java.util.concurrent.CompletableFuture.uniComposeStage(CompletableFuture.java:981)
 ~[?:1.8.0_181]
           at 
java.util.concurrent.CompletableFuture.thenCompose(CompletableFuture.java:2124) 
~[?:1.8.0_181]
           at 
io.javalin.http.JavalinServletHandler.queueNextTaskOrFinish$javalin(JavalinServletHandler.kt:85)
 ~[javalin-4.6.8.jar:4.6.8]
           at 
io.javalin.http.JavalinServletHandler.executeNextTask$lambda-11$lambda-10(JavalinServletHandler.kt:119)
 ~[javalin-4.6.8.jar:4.6.8]
           at 
java.util.concurrent.CompletableFuture.uniApply(CompletableFuture.java:602) 
~[?:1.8.0_181]
           at 
java.util.concurrent.CompletableFuture.uniApplyStage(CompletableFuture.java:614)
 ~[?:1.8.0_181]
           at 
java.util.concurrent.CompletableFuture.thenApply(CompletableFuture.java:1983) 
~[?:1.8.0_181]
           at 
io.javalin.http.JavalinServletHandler.executeNextTask(JavalinServletHandler.kt:119)
 ~[javalin-4.6.8.jar:4.6.8]
           at 
io.javalin.http.JavalinServletHandler.queueNextTaskOrFinish$lambda-1(JavalinServletHandler.kt:85)
 ~[javalin-4.6.8.jar:4.6.8]
           at 
java.util.concurrent.CompletableFuture.uniComposeStage(CompletableFuture.java:981)
 ~[?:1.8.0_181]
           at 
java.util.concurrent.CompletableFuture.thenCompose(CompletableFuture.java:2124) 
~[?:1.8.0_181]
           at 
io.javalin.http.JavalinServletHandler.queueNextTaskOrFinish$javalin(JavalinServletHandler.kt:85)
 ~[javalin-4.6.8.jar:4.6.8]
           at 
io.javalin.http.JavalinServletHandler.executeNextTask$lambda-11$lambda-10(JavalinServletHandler.kt:119)
 ~[javalin-4.6.8.jar:4.6.8]
           at 
java.util.concurrent.CompletableFuture.uniApply(CompletableFuture.java:602) 
~[?:1.8.0_181]
           at 
java.util.concurrent.CompletableFuture.uniApplyStage(CompletableFuture.java:614)
 ~[?:1.8.0_181]
           at 
java.util.concurrent.CompletableFuture.thenApply(CompletableFuture.java:1983) 
~[?:1.8.0_181]
           at 
io.javalin.http.JavalinServletHandler.executeNextTask(JavalinServletHandler.kt:119)
 ~[javalin-4.6.8.jar:4.6.8]
           at 
io.javalin.http.JavalinServletHandler.queueNextTaskOrFinish$lambda-1(JavalinServletHandler.kt:85)
 ~[javalin-4.6.8.jar:4.6.8]
           at 
java.util.concurrent.CompletableFuture.uniComposeStage(CompletableFuture.java:981)
 ~[?:1.8.0_181]
           at 
java.util.concurrent.CompletableFuture.thenCompose(CompletableFuture.java:2124) 
~[?:1.8.0_181]
           at 
io.javalin.http.JavalinServletHandler.queueNextTaskOrFinish$javalin(JavalinServletHandler.kt:85)
 ~[javalin-4.6.8.jar:4.6.8]
           at io.javalin.http.JavalinServlet.service(JavalinServlet.kt:89) 
~[javalin-4.6.8.jar:4.6.8]
           at javax.servlet.http.HttpServlet.service(HttpServlet.java:590) 
~[jakarta.servlet-api-4.0.3.jar:4.0.3]
           at 
io.javalin.jetty.JavalinJettyServlet.service(JavalinJettyServlet.kt:58) 
~[javalin-4.6.8.jar:4.6.8]
           at javax.servlet.http.HttpServlet.service(HttpServlet.java:590) 
~[jakarta.servlet-api-4.0.3.jar:4.0.3]
           at 
org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:799) 
~[jetty-servlet-9.4.51.v20230217.jar:9.4.51.v20230217]
           at 
org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:554) 
~[jetty-servlet-9.4.51.v20230217.jar:9.4.51.v20230217]
           at 
org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)
 ~[jetty-server-9.4.51.v20230217.jar:9.4.51.v20230217]
           at 
org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1624)
 ~[jetty-server-9.4.51.v20230217.jar:9.4.51.v20230217]
           at 
org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)
 ~[jetty-server-9.4.51.v20230217.jar:9.4.51.v20230217]
           at 
io.javalin.jetty.JettyServer$start$wsAndHttpHandler$1.doHandle(JettyServer.kt:52)
 ~[javalin-4.6.8.jar:4.6.8]
           at 
org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188)
 ~[jetty-server-9.4.51.v20230217.jar:9.4.51.v20230217]
           at 
org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:505) 
~[jetty-servlet-9.4.51.v20230217.jar:9.4.51.v20230217]
           at 
org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1594)
 ~[jetty-server-9.4.51.v20230217.jar:9.4.51.v20230217]
           at 
org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186)
 ~[jetty-server-9.4.51.v20230217.jar:9.4.51.v20230217]
           at 
org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1355)
 ~[jetty-server-9.4.51.v20230217.jar:9.4.51.v20230217]
           at 
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) 
~[jetty-server-9.4.51.v20230217.jar:9.4.51.v20230217]
           at 
org.eclipse.jetty.server.handler.StatisticsHandler.handle(StatisticsHandler.java:181)
 ~[jetty-server-9.4.51.v20230217.jar:9.4.51.v20230217]
           at 
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127) 
~[jetty-server-9.4.51.v20230217.jar:9.4.51.v20230217]
           at org.eclipse.jetty.server.Server.handle(Server.java:516) 
~[jetty-server-9.4.51.v20230217.jar:9.4.51.v20230217]
           at 
org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:487) 
~[jetty-server-9.4.51.v20230217.jar:9.4.51.v20230217]
           at 
org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:732) 
[jetty-server-9.4.51.v20230217.jar:9.4.51.v20230217]
           at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:479) 
[jetty-server-9.4.51.v20230217.jar:9.4.51.v20230217]
           at 
org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:277) 
[jetty-server-9.4.51.v20230217.jar:9.4.51.v20230217]
           at 
org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)
 [jetty-io-9.4.51.v20230217.jar:9.4.51.v20230217]
           at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105) 
[jetty-io-9.4.51.v20230217.jar:9.4.51.v20230217]
           at 
org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104) 
[jetty-io-9.4.51.v20230217.jar:9.4.51.v20230217]
           at 
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:338)
 [jetty-util-9.4.51.v20230217.jar:9.4.51.v20230217]
           at 
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:315)
 [jetty-util-9.4.51.v20230217.jar:9.4.51.v20230217]
           at 
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:173)
 [jetty-util-9.4.51.v20230217.jar:9.4.51.v20230217]
           at 
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:131)
 [jetty-util-9.4.51.v20230217.jar:9.4.51.v20230217]
           at 
org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:409)
 [jetty-util-9.4.51.v20230217.jar:9.4.51.v20230217]
           at 
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:883)
 [jetty-util-9.4.51.v20230217.jar:9.4.51.v20230217]
           at 
org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1034)
 [jetty-util-9.4.51.v20230217.jar:9.4.51.v20230217]
           at java.lang.Thread.run(Thread.java:748) [?:1.8.0_181]
   ```
   ```
   
   
   ### Anything else
   
   _No response_
   
   ### Are you willing to submit a PR?
   
   - [X] Yes I am willing to submit a PR!
   
   ### Code of Conduct
   
   - [X] I agree to follow this project's Code of Conduct


-- 
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]

Reply via email to