dybyte opened a new pull request, #9815:
URL: https://github.com/apache/seatunnel/pull/9815

   ### Purpose of this pull request
   
   I observed that the `testRestoreTaskWhenBinlogDelete` test in 
`MysqlCDCWithBinlogDeleteIT` occasionally fails in CI.
   ```
   ERROR org.apache.seatunnel.engine.server.rest.filter.ExceptionHandlingFilter 
- Error occurred while processing request
   2025-09-03T06:28:36.6933917Z java.lang.NullPointerException: null
   2025-09-03T06:28:36.6934361Z         at 
org.apache.seatunnel.engine.server.rest.service.BaseService.getJobStartTime(BaseService.java:213)
 ~[seatunnel-starter.jar:2.3.12-SNAPSHOT]
   2025-09-03T06:28:36.6934783Z         at 
org.apache.seatunnel.engine.server.rest.service.BaseService.convertToJson(BaseService.java:184)
 ~[seatunnel-starter.jar:2.3.12-SNAPSHOT]
   2025-09-03T06:28:36.6935241Z         at 
org.apache.seatunnel.engine.server.rest.service.JobInfoService.getJobInfoJson(JobInfoService.java:69)
 ~[seatunnel-starter.jar:2.3.12-SNAPSHOT]
   2025-09-03T06:28:36.6935650Z         at 
org.apache.seatunnel.engine.server.rest.servlet.JobInfoServlet.doGet(JobInfoServlet.java:52)
 ~[seatunnel-starter.jar:2.3.12-SNAPSHOT]
   2025-09-03T06:28:36.6935976Z         at 
javax.servlet.http.HttpServlet.service(HttpServlet.java:687) 
~[seatunnel-hadoop3-3.1.4-uber.jar:2.3.12-SNAPSHOT]
   2025-09-03T06:28:36.6936290Z         at 
javax.servlet.http.HttpServlet.service(HttpServlet.java:790) 
~[seatunnel-hadoop3-3.1.4-uber.jar:2.3.12-SNAPSHOT]
   2025-09-03T06:28:36.6936803Z         at 
org.apache.seatunnel.shade.org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:799)
 ~[seatunnel-starter.jar:2.3.12-SNAPSHOT]
   2025-09-03T06:28:36.6937284Z         at 
org.apache.seatunnel.shade.org.eclipse.jetty.servlet.ServletHandler$ChainEnd.doFilter(ServletHandler.java:1656)
 ~[seatunnel-starter.jar:2.3.12-SNAPSHOT]
   2025-09-03T06:28:36.6937783Z         at 
org.apache.seatunnel.engine.server.rest.filter.ExceptionHandlingFilter.doFilter(ExceptionHandlingFilter.java:50)
 ~[seatunnel-starter.jar:2.3.12-SNAPSHOT]
   2025-09-03T06:28:36.6938211Z         at 
org.apache.seatunnel.shade.org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)
 ~[seatunnel-starter.jar:2.3.12-SNAPSHOT]
   2025-09-03T06:28:36.6938669Z         at 
org.apache.seatunnel.shade.org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1626)
 ~[seatunnel-starter.jar:2.3.12-SNAPSHOT]
   2025-09-03T06:28:36.6939175Z         at 
org.apache.seatunnel.shade.org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:552)
 ~[seatunnel-starter.jar:2.3.12-SNAPSHOT]
   2025-09-03T06:28:36.6939653Z         at 
org.apache.seatunnel.shade.org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)
 ~[seatunnel-starter.jar:2.3.12-SNAPSHOT]
   2025-09-03T06:28:36.6940124Z         at 
org.apache.seatunnel.shade.org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1624)
 ~[seatunnel-starter.jar:2.3.12-SNAPSHOT]
   2025-09-03T06:28:36.6940656Z         at 
org.apache.seatunnel.shade.org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)
 ~[seatunnel-starter.jar:2.3.12-SNAPSHOT]
   2025-09-03T06:28:36.6941136Z         at 
org.apache.seatunnel.shade.org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1440)
 ~[seatunnel-starter.jar:2.3.12-SNAPSHOT]
   2025-09-03T06:28:36.6941665Z         at 
org.apache.seatunnel.shade.org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188)
 ~[seatunnel-starter.jar:2.3.12-SNAPSHOT]
   2025-09-03T06:28:36.6942104Z         at 
org.apache.seatunnel.shade.org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:505)
 ~[seatunnel-starter.jar:2.3.12-SNAPSHOT]
   2025-09-03T06:28:36.6942577Z         at 
org.apache.seatunnel.shade.org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1594)
 ~[seatunnel-starter.jar:2.3.12-SNAPSHOT]
   2025-09-03T06:28:36.6943041Z         at 
org.apache.seatunnel.shade.org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186)
 ~[seatunnel-starter.jar:2.3.12-SNAPSHOT]
   2025-09-03T06:28:36.6943746Z         at 
org.apache.seatunnel.shade.org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1355)
 ~[seatunnel-starter.jar:2.3.12-SNAPSHOT]
   2025-09-03T06:28:36.6944211Z         at 
org.apache.seatunnel.shade.org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
 ~[seatunnel-starter.jar:2.3.12-SNAPSHOT]
   2025-09-03T06:28:36.6944679Z         at 
org.apache.seatunnel.shade.org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
 ~[seatunnel-starter.jar:2.3.12-SNAPSHOT]
   2025-09-03T06:28:36.6945048Z         at 
org.apache.seatunnel.shade.org.eclipse.jetty.server.Server.handle(Server.java:516)
 ~[seatunnel-starter.jar:2.3.12-SNAPSHOT]
   2025-09-03T06:28:36.6945477Z         at 
org.apache.seatunnel.shade.org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:487)
 ~[seatunnel-starter.jar:2.3.12-SNAPSHOT]
   2025-09-03T06:28:36.6945894Z         at 
org.apache.seatunnel.shade.org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:732)
 ~[seatunnel-starter.jar:2.3.12-SNAPSHOT]
   2025-09-03T06:28:36.6946303Z         at 
org.apache.seatunnel.shade.org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:479)
 ~[seatunnel-starter.jar:2.3.12-SNAPSHOT]
   2025-09-03T06:28:36.6946750Z         at 
org.apache.seatunnel.shade.org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:277)
 ~[seatunnel-starter.jar:2.3.12-SNAPSHOT]
   2025-09-03T06:28:36.6947254Z         at 
org.apache.seatunnel.shade.org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)
 ~[seatunnel-starter.jar:2.3.12-SNAPSHOT]
   2025-09-03T06:28:36.6947731Z         at 
org.apache.seatunnel.shade.org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)
 ~[seatunnel-starter.jar:2.3.12-SNAPSHOT]
   2025-09-03T06:28:36.6948137Z         at 
org.apache.seatunnel.shade.org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104)
 ~[seatunnel-starter.jar:2.3.12-SNAPSHOT]
   2025-09-03T06:28:36.6948635Z         at 
org.apache.seatunnel.shade.org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:338)
 ~[seatunnel-starter.jar:2.3.12-SNAPSHOT]
   2025-09-03T06:28:36.6949136Z         at 
org.apache.seatunnel.shade.org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:315)
 ~[seatunnel-starter.jar:2.3.12-SNAPSHOT]
   2025-09-03T06:28:36.6949648Z         at 
org.apache.seatunnel.shade.org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:173)
 ~[seatunnel-starter.jar:2.3.12-SNAPSHOT]
   2025-09-03T06:28:36.6950183Z         at 
org.apache.seatunnel.shade.org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:131)
 ~[seatunnel-starter.jar:2.3.12-SNAPSHOT]
   2025-09-03T06:28:36.6950748Z         at 
org.apache.seatunnel.shade.org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:409)
 ~[seatunnel-starter.jar:2.3.12-SNAPSHOT]
   2025-09-03T06:28:36.6951220Z         at 
org.apache.seatunnel.shade.org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:883)
 ~[seatunnel-starter.jar:2.3.12-SNAPSHOT]
   2025-09-03T06:28:36.6951742Z         at 
org.apache.seatunnel.shade.org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1034)
 ~[seatunnel-starter.jar:2.3.12-SNAPSHOT]
   2025-09-03T06:28:36.6951874Z         at 
java.lang.Thread.run(Thread.java:750) [?:1.8.0_342]
   ```
   
   This failure is caused by a NullPointerException in the `getJobStartTime` 
method of `BaseService`.
   This PR fixes the NPE in `getJobStartTime`, which eliminates the flakiness 
of the `testRestoreTaskWhenBinlogDelete` test.
   
   
   ### Does this PR introduce _any_ user-facing change?
   
   No
   
   ### How was this patch tested?
   
   Covered by existing test
   
   ### Check list
   
   * [ ] If any new Jar binary package adding in your PR, please add License 
Notice according
     [New License 
Guide](https://github.com/apache/seatunnel/blob/dev/docs/en/contribution/new-license.md)
   * [ ] If necessary, please update the documentation to describe the new 
feature. https://github.com/apache/seatunnel/tree/dev/docs
   * [ ] If you are contributing the connector code, please check that the 
following files are updated:
     1. Update 
[plugin-mapping.properties](https://github.com/apache/seatunnel/blob/dev/plugin-mapping.properties)
 and add new connector information in it
     2. Update the pom file of 
[seatunnel-dist](https://github.com/apache/seatunnel/blob/dev/seatunnel-dist/pom.xml)
     3. Add ci label in 
[label-scope-conf](https://github.com/apache/seatunnel/blob/dev/.github/workflows/labeler/label-scope-conf.yml)
     4. Add e2e testcase in 
[seatunnel-e2e](https://github.com/apache/seatunnel/tree/dev/seatunnel-e2e/seatunnel-connector-v2-e2e/)
     5. Update connector 
[plugin_config](https://github.com/apache/seatunnel/blob/dev/config/plugin_config)


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