Troubleshooting
Problem
In Sterling B2B Integrator(SBI), the PGP Package service fails with a connection reset when attempting to encrypt a 30 GB file. Smaller files have no problems.
Symptom
This connection reset always occurs at the 5 minute mark after the encryption started.
This is happening when the encryption takes longer than 5 minutes.
The SO_KEEPALIVE setting was set to true on the CLA2 adapter.
Their timeout value was also set to higher than 5 minutes.
TCPDUMP network traces shows a connection reset coming from the PGP remote server.
The BPML code:
<operation name="EncryptSign">
<participant name="PGPPackageService"/>
<output message="Xout">
<assign to="cmdline2svcname" from="sci-get-property('filegateway','pgpCmdline2svcname')"/>
<assign to="compress" from="if(DeliveryProtocol/PGP_C_COMP/text()='yes','YES','NO')"/>
<assign to="profile_name" from="sci-get-property('PropertyList', 'PGPProfile')"/>
<assign to="setSoTimeout" from="'2400000'"/>
<assign to="public_user" from="DeliveryProtocol/PGP_C_PK/text()"/>
<assign to="DocumentId" from="GetDocInfoResults/DocumentId/text()"/>
<assign to="ascii_armor" from="if(DeliveryProtocol/ASCIIARMOR/text()='on','YES','NO')"/>
<assign to="textmode" from="if(DeliveryProtocol/TEXTMODE/text()='on','YES','NO')"/>
<assign to="inputFileNamePkg" from="string(DestinationMessageName)"/>
<!--
<assign to="secret_keymap_name" from="SignKeyId/ROW/KEY_ID/text()"/>
-->
<assign to="secret_keymap_name">PGP_privatekeys</assign>
<assign to="." from="*"></assign>
</output>
<input message="Xin">
<assign to="." from="*"></assign>
</input>
</operation>
Error in the cla2client log:
[2018-04-09 07:41:06.847] DEBUG <HAR.1.Thread> CmdLine2Impl.setupConnection: RcvBufferSize=183680
[2018-04-09 07:41:06.847] DEBUG <HAR.1.Thread> CmdLine2Impl.setupConnection: SndBufferSize=43520
[2018-04-09 07:41:06.847] DEBUG <HAR.1.Thread> CmdLine2Impl.setupConnection: SO_LINGER=-1
[2018-04-09 07:41:06.847] DEBUG <HAR.1.Thread> CmdLine2Impl.setupConnection: SO_TIMEOUT=2400000
[2018-04-09 07:41:06.847] DEBUG <HAR.1.Thread> CmdLine2Impl.setupConnection: SO_KEEPALIVE=true
[2018-04-09 07:41:06.847] DEBUG <HAR.1.Thread> CmdLine2Impl.setupConnection: TCP_NODELAY=false
[2018-04-09 07:41:06.847] DEBUG <HAR.1.Thread> CmdLine2Impl.processData: about to send CmdLine2Parms.toString:
...
...
[2018-04-09 07:41:06.851] DEBUG <HAR.1.Thread> CmdLine2Impl.getReply: Waiting for reply
[2018-04-09 07:41:06.851] DEBUG <HAR.1.Thread> CmdLine2Impl.getReply: Reply=READY
[2018-04-09 07:41:06.851] DEBUG <HAR.1.Thread> CmdLine2Impl.streamToRemote: Streaming document to remote
[2018-04-09 07:49:21.275] DEBUG <HAR.1.Thread> CmdLine2Impl.getReply: Waiting for reply
[2018-04-09 07:54:21.433] ERROR <HAR.1.Thread> Exception in processData
[2018-04-09 07:54:21.433] ERROR <HAR.1.Thread> [1523278461433] Connection reset
[2018-04-09 07:54:21.433] ERRORDTL <HAR.1.Thread> [1523278461433]java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(SocketInputStream.java:208)
at java.net.SocketInputStream.read(SocketInputStream.java:134)
at java.io.BufferedInputStream.fill(BufferedInputStream.java:247)
at java.io.BufferedInputStream.read(BufferedInputStream.java:266)
at java.io.ObjectInputStream$PeekInputStream.peek(ObjectInputStream.java:2451)
at java.io.ObjectInputStream$BlockDataInputStream.peek(ObjectInputStream.java:2744)
at java.io.ObjectInputStream$BlockDataInputStream.peekByte(ObjectInputStream.java:2754)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1432)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:448)
at com.sterlingcommerce.woodstock.services.cmdline2.CmdLine2Impl.getReply(CmdLine2Impl.java:521)
at com.sterlingcommerce.woodstock.services.cmdline2.CmdLine2Impl.processData(CmdLine2Impl.java:251)
at com.sterlingcommerce.woodstock.services.pgp.PGPService.executeCommandline(PGPService.java:354)
at com.sterlingcommerce.woodstock.services.pgp.PGPService.processDocs(PGPService.java:1037)
at com.sterlingcommerce.woodstock.services.pgp.PGPService.getPGPPackageParms(PGPService.java:1543)
at com.sterlingcommerce.woodstock.services.pgp.PGPPackageService.primitiveProcessData(PGPPackageService.java:49)
at com.sterlingcommerce.woodstock.services.pgp.PGPService.processData(PGPService.java:193)
at com.sterlingcommerce.woodstock.workflow.activity.engine.ActivityEngineHelper.invokeService(ActivityEngineHelper.java:1826)
at com.sterlingcommerce.woodstock.workflow.activity.engine.ActivityEngineHelper.nextMainLogic(ActivityEngineHelper.java:631)
at com.sterlingcommerce.woodstock.workflow.activity.engine.ActivityEngineHelper.next(ActivityEngineHelper.java:362)
at com.sterlingcommerce.woodstock.workflow.queue.WorkFlowQueueListener.doWork(WorkFlowQueueListener.java:461)
at com.sterlingcommerce.woodstock.workflow.queue.WorkFlowQueueListener.run(WorkFlowQueueListener.java:240)
at com.sterlingcommerce.woodstock.workflow.queue.WorkFlowQueueListener.onMessage(WorkFlowQueueListener.java:197)
at com.sterlingcommerce.woodstock.workflow.queue.WorkFlowQueueListener.onMessage(WorkFlowQueueListener.java:184)
at com.sterlingcommerce.woodstock.workflow.queue.wfTransporter.run(wfTransporter.java:444)
at com.sterlingcommerce.woodstock.workflow.queue.BasicExecutor$Worker.run(BasicExecutor.java:508)
at java.lang.Thread.run(Thread.java:798)
[2018-04-09 07:54:21.433] ERROR <HAR.1.Thread> 000000000000 GLOBAL_SCOPE Exception in processData
java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(SocketInputStream.java:208)
at java.net.SocketInputStream.read(SocketInputStream.java:134)
at java.io.BufferedInputStream.fill(BufferedInputStream.java:247)
at java.io.BufferedInputStream.read(BufferedInputStream.java:266)
at java.io.ObjectInputStream$PeekInputStream.peek(ObjectInputStream.java:2451)
at java.io.ObjectInputStream$BlockDataInputStream.peek(ObjectInputStream.java:2744)
at java.io.ObjectInputStream$BlockDataInputStream.peekByte(ObjectInputStream.java:2754)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1432)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:448)
at com.sterlingcommerce.woodstock.services.cmdline2.CmdLine2Impl.getReply(CmdLine2Impl.java:521)
at com.sterlingcommerce.woodstock.services.cmdline2.CmdLine2Impl.processData(CmdLine2Impl.java:251)
at com.sterlingcommerce.woodstock.services.pgp.PGPService.executeCommandline(PGPService.java:354)
at com.sterlingcommerce.woodstock.services.pgp.PGPService.processDocs(PGPService.java:1037)
at com.sterlingcommerce.woodstock.services.pgp.PGPService.getPGPPackageParms(PGPService.java:1543)
at com.sterlingcommerce.woodstock.services.pgp.PGPPackageService.primitiveProcessData(PGPPackageService.java:49)
at com.sterlingcommerce.woodstock.services.pgp.PGPService.processData(PGPService.java:193)
at com.sterlingcommerce.woodstock.workflow.activity.engine.ActivityEngineHelper.invokeService(ActivityEngineHelper.java:1826)
at com.sterlingcommerce.woodstock.workflow.activity.engine.ActivityEngineHelper.nextMainLogic(ActivityEngineHelper.java:631)
at com.sterlingcommerce.woodstock.workflow.activity.engine.ActivityEngineHelper.next(ActivityEngineHelper.java:362)
at com.sterlingcommerce.woodstock.workflow.queue.WorkFlowQueueListener.doWork(WorkFlowQueueListener.java:461)
at com.sterlingcommerce.woodstock.workflow.queue.WorkFlowQueueListener.run(WorkFlowQueueListener.java:240)
at com.sterlingcommerce.woodstock.workflow.queue.WorkFlowQueueListener.onMessage(WorkFlowQueueListener.java:197)
at com.sterlingcommerce.woodstock.workflow.queue.WorkFlowQueueListener.onMessage(WorkFlowQueueListener.java:184)
at com.sterlingcommerce.woodstock.workflow.queue.wfTransporter.run(wfTransporter.java:444)
at com.sterlingcommerce.woodstock.workflow.queue.BasicExecutor$Worker.run(BasicExecutor.java:508)
at java.lang.Thread.run(Thread.java:798)
[2018-04-09 07:54:21.433] DEBUG <HAR.1.Thread> CmdLine2Impl.processData: END
Log InLog in to view more of this document
Was this topic helpful?
Document Information
Modified date:
14 November 2019
UID
swg22016038