apache / seatunnel

SeaTunnel is a next-generation super high-performance, distributed, massive data integration tool.
https://seatunnel.apache.org/
Apache License 2.0
7.84k stars 1.77k forks source link

[Bug] [Seatunnel-web] [Metrics] NPE while fetching metrics from seatunnel-engine #7583

Closed arshadmohammad closed 2 weeks ago

arshadmohammad commented 2 weeks ago

Search before asking

What happened

NPE while fetching metrics from seatunnel-engine. Seems these metrics are expired in seatunnel engine.

SeaTunnel Version

2.3.7

SeaTunnel Config

NA

Running Command

NA

Error Exception

2024-09-04 20:43:23.005 seatunnel rocky1 ERROR [qtp1785495362-73] [GlobalExceptionHandler.logError():78] - null
java.lang.NullPointerException: null
        at org.apache.seatunnel.app.thirdparty.engine.SeaTunnelEngineMetricsExtractor.getJobPipelineStatus(SeaTunnelEngineMetricsExtractor.java:123)
        at org.apache.seatunnel.app.thirdparty.engine.SeaTunnelEngineMetricsExtractor.getMetricsByJobEngineId(SeaTunnelEngineMetricsExtractor.java:96)
        at org.apache.seatunnel.app.service.impl.JobMetricsServiceImpl.getJobMetricsFromEngine(JobMetricsServiceImpl.java:658)
        at org.apache.seatunnel.app.service.impl.JobMetricsServiceImpl.getJobPipelineDetailMetrics(JobMetricsServiceImpl.java:480)
        at org.apache.seatunnel.app.service.impl.JobMetricsServiceImpl.getJobPipelineMetrics(JobMetricsServiceImpl.java:507)
        at org.apache.seatunnel.app.service.impl.JobMetricsServiceImpl.getJobPipelineSummaryMetrics(JobMetricsServiceImpl.java:81)
        at org.apache.seatunnel.app.controller.JobMetricsController.summary(JobMetricsController.java:76)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205)
        at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:150)
        at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117)
        at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895)
        at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808)
        at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)
        at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1067)
        at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:963)
        at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)
        at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:497)
        at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)
        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$ChainEnd.doFilter(ServletHandler.java:1631)

Zeta or Flink or Spark Version

No response

Java or Scala Version

No response

Screenshots

No response

Are you willing to submit PR?

Code of Conduct

arshadmohammad commented 2 weeks ago

After fix, same scenario works fine image

arshadmohammad commented 2 weeks ago

PR is merged https://github.com/apache/seatunnel-web/commit/64bf528dab25afeb39a2754b9d5ea2c40c400e42