Handle subscription error
Opened this issue · 1 comments
zguesmi commented
2020-10-01 11:12:19.027 INFO 6 --- [taskScheduler-2] c.i.w.replicate.ReplicateDemandService : Received new task [chainTaskId:0x584c5e5b9e5fd2b65847ccd1765e87067bd5a734d523eddfc811b4b57660b10f]
2020-10-01 11:12:19.196 ERROR 6 --- [taskScheduler-2] o.s.s.s.TaskUtils$LoggingErrorHandler : Unexpected error occurred in scheduled task.
java.lang.IllegalStateException: Connection closed
at org.springframework.util.Assert.state(Assert.java:73)
at org.springframework.messaging.simp.stomp.DefaultStompSession.execute(DefaultStompSession.java:285)
at org.springframework.messaging.simp.stomp.DefaultStompSession.subscribe(DefaultStompSession.java:320)
at org.springframework.messaging.simp.stomp.DefaultStompSession.subscribe(DefaultStompSession.java:301)
at com.iexec.worker.pubsub.StompClient.subscribeToTopic(StompClient.java:94)
at com.iexec.worker.pubsub.SubscriptionService.subscribeToTopic(SubscriptionService.java:68)
at com.iexec.worker.replicate.ReplicateDemandService.askForReplicate(ReplicateDemandService.java:111)
at jdk.internal.reflect.GeneratedMethodAccessor100.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.base/java.lang.reflect.Method.invoke(Unknown Source)
at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:84)
at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.base/java.util.concurrent.FutureTask.runAndReset(Unknown Source)
at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.base/java.lang.Thread.run(Unknown Source)
zguesmi commented
Worker should not subscribe to task when the session is not yes established.
2020-10-16 15:10:06.150 INFO 7 --- [ main] com.iexec.worker.Application : Cool, your iexec-worker is all set!
2020-10-16 15:10:06.783 INFO 7 --- [ main] c.i.w.r.ReplicateRecoveryService : No interrupted tasks to recover
2020-10-16 15:10:08.006 INFO 7 --- [taskScheduler-2] c.i.w.replicate.ReplicateDemandService : Received new task [chainTaskId:0xab1366ecd1e8488e9daf8c478551e71362a586e67dc5f8a6f81aee6a27eae117]
2020-10-16 15:10:08.558 ERROR 7 --- [taskScheduler-2] o.s.s.s.TaskUtils$LoggingErrorHandler : Unexpected error occurred in scheduled task.
java.lang.NullPointerException: null
at com.iexec.worker.pubsub.StompClient.subscribeToTopic(StompClient.java:94)
at com.iexec.worker.pubsub.SubscriptionService.subscribeToTopic(SubscriptionService.java:68)
at com.iexec.worker.replicate.ReplicateDemandService.askForReplicate(ReplicateDemandService.java:111)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.base/java.lang.reflect.Method.invoke(Unknown Source)
at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:84)
at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.base/java.util.concurrent.FutureTask.runAndReset(Unknown Source)
at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.base/java.lang.Thread.run(Unknown Source)