Uploaded image for project: 'CloverDX'
  1. CloverDX
  2. CLO-18930

Jobflow cannot be aborted if a component in a child graph gets stuck in free method

    XMLWordPrintable

    Details

    • Story Points:
      5
    • Branch:
    • QA Testing:
      UNDECIDED
    • Sprint:
      Magenta Sprint 23, Magenta Sprint 24

      Description

      Jobflow cannot be aborted if a component in a child graph gets stuck in free() method. See following stack trace:

      "http-nio-10501-exec-3" daemon prio=5 tid=30 BLOCKED
          at com.sun.mail.smtp.SMTPTransport.isConnected(SMTPTransport.java:1444)
          at com.opensys.cloveretl.component.EmailSender.closeConnection(EmailSender.java:730)
          at com.opensys.cloveretl.component.EmailSender.free(EmailSender.java:725)
          at org.jetel.graph.Phase.free(Phase.java:504)
             Local Variable: org.jetel.graph.Phase#106
             Local Variable: com.opensys.cloveretl.component.EmailSender#3
             Local Variable: org.jetel.graph.ContextProvider$Context#20
          at org.jetel.graph.TransformationGraph.freeResources(TransformationGraph.java:900)
          at org.jetel.graph.TransformationGraph.free(TransformationGraph.java:1195)
             Local Variable: org.jetel.graph.TransformationGraph#274
             Local Variable: org.jetel.graph.ContextProvider$Context#19
          at com.cloveretl.server.worker.runtime.g.a(g.java:87)
             Local Variable: com.cloveretl.server.worker.runtime.g#1
          at com.cloveretl.server.worker.runtime.i.jobFinished(i.java:269)
          at org.jetel.graph.runtime.jmx.CloverJMX.sendReleaseWatchdogNotification(CloverJMX.java:281)
             Local Variable: org.jetel.graph.runtime.WatchDog#4
          at org.jetel.graph.runtime.jmx.CloverJMX.lambda$releaseJob$0(CloverJMX.java:270)
          at org.jetel.graph.runtime.jmx.CloverJMX$$Lambda$332.run(CloverJMX.java)
          at org.jetel.util.LogUtils.runWithRunIdContext(LogUtils.java:112)
          at org.jetel.graph.runtime.jmx.CloverJMX.releaseJob(CloverJMX.java:261)
          at com.cloveretl.server.worker.api.BaseWorkerApiImpl.releaseJob(BaseWorkerApiImpl.java:420)
      

      Steps to reproduce:

      • apply attached patch SimpleCopy_free.patch
      • executes attache jobflow j.jbf (which executes g.grf as child job)
      • abort the jobflow
      • even server console gets stuck and jobflow is never aborted
      • re-login into server and you will see

      Double check whether similar issue is not possible even for uniterruptable postExecute() method, see SimpleCopy_postExecute.patch.

        Attachments

        1. Core_threads.txt
          356 kB
        2. free.grf
          4 kB
        3. g.grf
          2 kB
        4. j.jbf
          0.5 kB
        5. screenshot-1.png
          screenshot-1.png
          252 kB
        6. SimpleCopy_free.patch
          1.0 kB
        7. SimpleCopy_postExecute.patch
          1 kB
        8. Worker_threads.txt
          409 kB

          Issue Links

            Activity

              People

              Assignee:
              reichmanf Filip Reichman
              Reporter:
              zatopekm Martin Zatopek
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: