open-job/openjob

H2数据库,使用时候,子任务会一直报错,超时

Opened this issue · 3 comments

[WARN] [02/21/2024 13:58:26.650] [Openjob-initialize-thread] [akka.remote.RemoteActorRefProvider] Using the 'remote' ActorRefProvider directly, which is a low-level layer. For most use cases, the 'cluster' abstraction on top of remoting is more suitable instead.
[WARN] [02/21/2024 13:58:26.650] [Openjob-initialize-thread] [akka.remote.RemoteActorRefProvider] Akka Cluster not in use - Using Akka Cluster is recommended if you need remote watch and deploy.
[INFO] [02/21/2024 13:58:26.899] [Openjob-initialize-thread] [ArteryTransport(akka://openjob-worker)] Remoting started with transport [Artery tcp]; listening on address [akka://openjob-worker@192.168.1.6:25588] with UID [4844873213332236743]
2024-02-21 13:58:27,055[INFO]io.openjob.worker.init.WorkerActorSystem.init:71Worker actor system started,address=akka://openjob-worker@192.168.1.6:25588
RecoveryCompleted
RecoveryCompleted
2024-02-21 13:58:27,640[INFO]io.openjob.worker.init.WorkerRegister.register:39Register worker success. serverAddress=192.168.1.6 workerAddress=192.168.1.6:25588
2024-02-21 13:58:27,640[INFO]io.openjob.worker.init.WorkerContext.init:36Worker context initialized! appId=1 onlineWorkers=[192.168.1.6:25588]
2024-02-21 13:58:27,646[INFO]io.openjob.worker.OpenjobWorker.lambda$init$0:85Openjob worker initialize complete!
2024-02-21 13:58:27,653[INFO]com.zaxxer.hikari.HikariDataSource.getConnection:110HikariPool-1 - Starting...
2024-02-21 13:58:27,852[INFO]com.zaxxer.hikari.HikariDataSource.getConnection:123HikariPool-1 - Start completed.
2024-02-21 13:58:35,683[ERROR]io.openjob.worker.init.WorkerHeartbeat.doWorkerHeartbeat:102Worker heartbeat fail. serverAddress=192.168.1.6 workerAddress=192.168.1.6:25588 failTimes=1
java.lang.RuntimeException: Must ask fail! path=/user/worker-delay-instance anchor=akka://openjob-server@192.168.1.6:25520/
at io.openjob.common.util.FutureUtil.mustAsk(FutureUtil.java:46)
at io.openjob.worker.delay.DelayTaskMaster.refresh(DelayTaskMaster.java:53)
at io.openjob.worker.delay.DelayManager.refresh(DelayManager.java:69)
at io.openjob.worker.init.WorkerHeartbeat.refresh(WorkerHeartbeat.java:123)
at io.openjob.worker.init.WorkerHeartbeat.doWorkerHeartbeat(WorkerHeartbeat.java:96)
at io.openjob.worker.init.WorkerHeartbeat.lambda$init$0(WorkerHeartbeat.java:65)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.runAndReset$$$capture(FutureTask.java:308)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.util.concurrent.TimeoutException: Future timed out after [3000 milliseconds]
at scala.concurrent.impl.Promise$DefaultPromise.tryAwait0(Promise.scala:248)
at scala.concurrent.impl.Promise$DefaultPromise.result(Promise.scala:261)
at scala.concurrent.Await$.$anonfun$result$1(package.scala:201)
at scala.concurrent.BlockContext$DefaultBlockContext$.blockOn(BlockContext.scala:62)
at scala.concurrent.Await$.result(package.scala:124)
at scala.concurrent.Await.result(package.scala)
at io.openjob.common.util.FutureUtil.mustAsk(FutureUtil.java:38)
... 13 common frames omitted
2024-02-21 13:58:40,652[ERROR]io.openjob.worker.init.WorkerHeartbeat.doWorkerHeartbeat:102Worker heartbeat fail. serverAddress=192.168.1.6 workerAddress=192.168.1.6:25588 failTimes=2
java.lang.RuntimeException: Must ask fail! path=/user/worker-delay-instance anchor=akka://openjob-server@192.168.1.6:25520/
at io.openjob.common.util.FutureUtil.mustAsk(FutureUtil.java:46)
at io.openjob.worker.delay.DelayTaskMaster.refresh(DelayTaskMaster.java:53)
at io.openjob.worker.delay.DelayManager.refresh(DelayManager.java:69)
at io.openjob.worker.init.WorkerHeartbeat.refresh(WorkerHeartbeat.java:123)
at io.openjob.worker.init.WorkerHeartbeat.doWorkerHeartbeat(WorkerHeartbeat.java:96)
at io.openjob.worker.init.WorkerHeartbeat.lambda$init$0(WorkerHeartbeat.java:65)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.runAndReset$$$capture(FutureTask.java:308)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.util.concurrent.TimeoutException: Future timed out after [3000 milliseconds]
at scala.concurrent.impl.Promise$DefaultPromise.tryAwait0(Promise.scala:248)
at scala.concurrent.impl.Promise$DefaultPromise.result(Promise.scala:261)
at scala.concurrent.Await$.$anonfun$result$1(package.scala:201)
at scala.concurrent.BlockContext$DefaultBlockContext$.blockOn(BlockContext.scala:62)
at scala.concurrent.Await$.result(package.scala:124)
at scala.concurrent.Await.result(package.scala)
at io.openjob.common.util.FutureUtil.mustAsk(FutureUtil.java:38)
... 13 common frames omitted
2024-02-21 13:58:40,652[INFO]io.openjob.worker.init.WorkerHeartbeat.doWorkerHeartbeat:105Begin to refresh server! server=192.168.1.6 port=25520 failTimes=2
2024-02-21 13:58:40,677[INFO]io.openjob.worker.init.WorkerConfig.refreshServer:137Refresh server success! server=192.168.1.6 port=25520

@zhengeili 你要检查下服务是否可用

@stelin 同样代码,只有用H2的才会出现次问题,切换到其他数据库 ,不存在这个问题。

并且 服务端8080端口 是正常的, 没有问题的。