Uploaded image for project: 'Talend Component Kit'
  1. Talend Component Kit
  2. TCOMP-1750

Deadlock at TPD job startup using the Component SDK and using the Workday component

Apply templateInsert Lucidchart DiagramXMLWordPrintable

    • All
    • Small

      The main is issue is reproduced using the WIP branch:
      https://github.com/Talend/data-streams/tree/amaumont/feat/TFD-11051/context-variables-for-connectors

      The original issue occurs when using the Workday component:
      https://jira.talendforge.org/browse/TFD-11335

      Below an extract of the threaddump:

      "main" #1 prio=5 os_prio=0 tid=0x00007f836405a000 nid=0x180 runnable [0x00007f836a7dd000]
         java.lang.Thread.State: RUNNABLE
      	at java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1718)
      	at org.talend.sdk.component.runtime.manager.util.LazyMap.get(LazyMap.java:32)
      	at org.talend.sdk.component.runtime.manager.service.DefaultServiceProvider.doLookup(DefaultServiceProvider.java:178)
      	at org.talend.sdk.component.runtime.manager.service.DefaultServiceProvider.lookup(DefaultServiceProvider.java:110)
      	at org.talend.sdk.component.runtime.manager.ComponentManager$Updater.lambda$onCreate$2(ComponentManager.java:1212)
      	at org.talend.sdk.component.runtime.manager.ComponentManager$Updater$$Lambda$164/403960809.apply(Unknown Source)
      	at java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1660)
      	- locked <0x00000000f2920c40> (a java.util.concurrent.ConcurrentHashMap$ReservationNode)
      	at org.talend.sdk.component.runtime.manager.util.LazyMap.get(LazyMap.java:32)
      	at org.talend.sdk.component.runtime.manager.ComponentManager$Updater.lambda$onCreate$4(ComponentManager.java:1254)
      	at org.talend.sdk.component.runtime.manager.ComponentManager$Updater$$Lambda$176/2000410491.accept(Unknown Source)
      	at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
      	at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175)
      	at java.util.stream.DistinctOps$1$2.accept(DistinctOps.java:175)
      	at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
      	at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1382)
      	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482)
      	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472)
      	at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
      	at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
      	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
      	at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:485)
      	at org.talend.sdk.component.runtime.manager.ComponentManager$Updater.onCreate(ComponentManager.java:1252)
      	at org.talend.sdk.component.container.ContainerManager$ContainerBuilder.lambda$null$1(ContainerManager.java:478)
      	at org.talend.sdk.component.container.ContainerManager$ContainerBuilder$$Lambda$159/1532800776.run(Unknown Source)
      	at org.talend.sdk.component.container.ContainerManager.safeInvoke(ContainerManager.java:179)
      	at org.talend.sdk.component.container.ContainerManager.access$1200(ContainerManager.java:66)
      	at org.talend.sdk.component.container.ContainerManager$ContainerBuilder.lambda$create$2(ContainerManager.java:478)
      	at org.talend.sdk.component.container.ContainerManager$ContainerBuilder$$Lambda$158/1075996552.test(Unknown Source)
      	at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:174)
      	at java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948)
      	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482)
      	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472)
      	at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
      	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
      	at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:566)
      	at org.talend.sdk.component.container.ContainerManager$ContainerBuilder.create(ContainerManager.java:479)
      	at org.talend.sdk.component.runtime.manager.ComponentManager.addPlugin(ComponentManager.java:842)
      	at org.talend.datastreams.beam.compiler.util.ComponentsUtil.loadPlugin(ComponentsUtil.java:103)
      	at org.talend.datastreams.beam.compiler.runtimeflow.RuntimeFlowBeamCompiler.compile(RuntimeFlowBeamCompiler.java:73)
      	at org.talend.datastreams.beam.compiler.runtimeflow.RuntimeFlowBeamCompiler.compile(RuntimeFlowBeamCompiler.java:32)
      	at org.talend.datastreams.streamsjob.FullRunJob$.runJob(FullRunJob.scala:118)
      	at org.talend.datastreams.streamsjob.FullRunJob$.main(FullRunJob.scala:47)
      	at org.talend.datastreams.streamsjob.FullRunJob.main(FullRunJob.scala)
      

      The full thread dump is attached to the Jira:
      threaddump-freezed-job.txt

            emmanuel_g emmanuel gallois
            amaumont Axel Maumont
            Dmytro Chmyga (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: