Forum Discussion

wani-amol's avatar
wani-amol
New Contributor III
6 years ago

API call fails to complete in child pipeline

Hello,

I am trying to run a parent-child pipeline using the pipeline execute snap. Lately, I have been getting the error mentioned below in one of the child pipeline instances. The other child pipeline instances complete successfully. This specific child pipeline gets stuck on a SOAP API call snap and fails to execute after a certain point.
I have set the pool_size to 2 and I have attached the pipeline screenshot below for reference. Any help with this would be great,

Thanks,
Amol.

Image:

Error:
Error Fingerprint[0] = efp:org.apache.http.nio.reactor.ssl.ILTIC8kB

Create Ship_To Account Site using MergeAccount API Call[59096c3159ee132472e56af6_e12abffe-658a-4436-b079-ab3d4a8a83bc – e7e1f878-ebe6-4d5d-98d2-05d4aad340ea]
**com.snaplogic.cc.snap.common.ThreadDetails: prio=4 Id=1937409 BLOCKED on org.apache.http.nio.reactor.ssl.SSLIOSession@7bdd8c3a owned by "I/O dispatcher 2755" Id=1937424** at org.apache.http.nio.reactor.ssl.SSLIOSession.setEvent(SSLIOSession.java:530) - blocked on org.apache.http.nio.reactor.ssl.SSLIOSession@7bdd8c3a at org.apache.http.impl.nio.NHttpConnectionBase.requestInput(NHttpConnectionBase.java:230) at org.apache.cxf.transport.http.asyncclient.SharedInputBuffer.waitForData(SharedInputBuffer.java:190) at org.apache.cxf.transport.http.asyncclient.SharedInputBuffer.read(SharedInputBuffer.java:266) at org.apache.cxf.transport.http.asyncclient.AsyncHTTPConduit$AsyncWrappedOutputStream$6.read(AsyncHTTPConduit.java:613) at com.ctc.wstx.io.BaseReader.readBytes(BaseReader.java:155) at com.ctc.wstx.io.UTF8Reader.loadMore(UTF8Reader.java:368) at com.ctc.wstx.io.UTF8Reader.read(UTF8Reader.java:111) ... at org.apache.http.nio.reactor.ssl.SSLIOSession.setEvent(SSLIOSession.java:530) at org.apache.http.impl.nio.NHttpConnectionBase.requestInput(NHttpConnectionBase.java:230) at org.apache.cxf.transport.http.asyncclient.SharedInputBuffer.waitForData(SharedInputBuffer.java:190) at org.apache.cxf.transport.http.asyncclient.SharedInputBuffer.read(SharedInputBuffer.java:266) at org.apache.cxf.transport.http.asyncclient.AsyncHTTPConduit$AsyncWrappedOutputStream$6.read(AsyncHTTPConduit.java:613) at com.ctc.wstx.io.BaseReader.readBytes(BaseReader.java:155) at com.ctc.wstx.io.UTF8Reader.loadMore(UTF8Reader.java:368) at com.ctc.wstx.io.UTF8Reader.read(UTF8Reader.java:111) at com.ctc.wstx.io.MergedReader.read(MergedReader.java:105) at com.ctc.wstx.io.ReaderSource.readInto(ReaderSource.java:87) at com.ctc.wstx.io.BranchingReaderSource.readInto(BranchingReaderSource.java:57) at com.ctc.wstx.sr.StreamScanner.loadMore(StreamScanner.java:991) at com.ctc.wstx.sr.BasicStreamReader.readTextSecondary(BasicStreamReader.java:4647) at com.ctc.wstx.sr.BasicStreamReader.finishToken(BasicStreamReader.java:3721) at com.ctc.wstx.sr.BasicStreamReader.safeFinishToken(BasicStreamReader.java:3675) at com.ctc.wstx.sr.BasicStreamReader.getText(BasicStreamReader.java:858) at org.apache.cxf.staxutils.StaxUtils.copy(StaxUtils.java:748) at org.apache.cxf.binding.soap.saaj.SAAJInInterceptor.handleMessage(SAAJInInterceptor.java:237) at org.apache.cxf.binding.soap.saaj.SAAJInInterceptor.handleMessage(SAAJInInterceptor.java:81) at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:272) at org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:849) at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:1642) at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:1520) at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1317) at org.apache.cxf.transport.http.asyncclient.AsyncHTTPConduit$AsyncWrappedOutputStream.close(AsyncHTTPConduit.java:385) at org.apache.cxf.io.CacheAndWriteOutputStream.postClose(CacheAndWriteOutputStream.java:56) at org.apache.cxf.io.CachedOutputStream.close(CachedOutputStream.java:223) at org.apache.cxf.io.CacheAndWriteOutputStream.postClose(CacheAndWriteOutputStream.java:56) at org.apache.cxf.io.CachedOutputStream.close(CachedOutputStream.java:223) at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56) at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:632) at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62) at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:272) at org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:572) at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:481) at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:382) at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:335) at org.apache.cxf.endpoint.ClientImpl.invokeWrapped(ClientImpl.java:370) at org.apache.cxf.jaxws.DispatchImpl.invoke(DispatchImpl.java:327) at org.apache.cxf.jaxws.DispatchImpl.invoke(DispatchImpl.java:246) at com.snaplogic.snap.api.soap.InvocationServiceImpl.execCall(InvocationServiceImpl.java:389) at com.snaplogic.snap.api.soap.InvocationServiceImpl.call(InvocationServiceImpl.java:323) at com.snaplogic.snap.api.soap.SoapExecutor.soapExecuteAndProcessResponse(SoapExecutor.java:348) at com.snaplogic.snap.api.soap.SoapExecutor.lambda$executeCXF$0(SoapExecutor.java:227) at com.snaplogic.snap.api.soap.SoapExecutor$Lambda$739/0x0000000801a0d040.call(Unknown Source) at com.github.rholder.retry.AttemptTimeLimiters$NoAttemptTimeLimit.call(AttemptTimeLimiters.java:78) at com.github.rholder.retry.Retryer.call(Retryer.java:160) at com.snaplogic.snap.api.soap.SoapExecutor.executeCXF(SoapExecutor.java:261) at com.snaplogic.snap.api.soap.SoapExecutor.execute(SoapExecutor.java:206) at com.snaplogic.snaps.soap.SoapExecute.invokeSoapRequest(SoapExecute.java:917) at com.snaplogic.snaps.soap.SoapExecute.process(SoapExecute.java:818) at com.snaplogic.snap.api.ExecutionUtil.process(ExecutionUtil.java:106) at com.snaplogic.snap.api.ExecutionUtil.executeForDocument(ExecutionUtil.java:118) at com.snaplogic.snap.api.ExecutionUtil.execute(ExecutionUtil.java:81) at com.snaplogic.snap.api.SimpleSnap.execute(SimpleSnap.java:70) at com.snaplogic.cc.snap.common.SnapRunnableImpl.executeSnap(SnapRunnableImpl.java:768) at com.snaplogic.cc.snap.common.SnapRunnableImpl.execute(SnapRunnableImpl.java:550) at com.snaplogic.cc.snap.common.SnapRunnableImpl.doRun(SnapRunnableImpl.java:834) at com.snaplogic.cc.snap.common.SnapRunnableImpl.call(SnapRunnableImpl.java:400) at com.snaplogic.cc.snap.common.SnapRunnableImpl.call(SnapRunnableImpl.java:116) at java.base@11.0.7/java.util.concurrent.FutureTask.run(FutureTask.java:264) at java.base@11.0.7/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) at java.base@11.0.7/java.util.concurrent.FutureTask.run(FutureTask.java:264) at java.base@11.0.7/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base@11.0.7/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.base@11.0.7/java.lang.Thread.run(Thread.java:834)

6 Replies

  • Hi Pranil,

    Are you trying to pass the eror reason, error and resolutions as parameters to the error pipeline from the parent?
    The document that caused the error will be passed directly to the child pipeline and need not be passed as parameters, the passed document contains the error reason, error resolution, etc, which you can then parse and write to an excel sheet in the error pipeline itself.

    Thanks,
    Chaitanya.

    • pranil2k2's avatar
      pranil2k2
      Contributor

      Hi Chaitanya,

      Thanks for the reply. In error pipeline, how to refer the error reason variables/parameters? in error pipeline, i am using Mapper and not able to find the snap error/ error variables. Please can you give me an example for reference.

  • Hi Chaitanya,

    Thanks for the example. it works straight away.
    For reference, from where we can get this list of error variables, which u have listed 4 of them.

    Thanks again.

    • kchaitanya's avatar
      kchaitanya
      Employee

      Hi Pranil,
      You can see them in the preview data of the parent pipeline when u validate it. The 4 error variables i have listed are the standard for any error document.

  • Hi Chaitanya,

    Thanks for the Information and it is very helpful.