Support Article
File Listener works intermittently while uploading to FTP Folder
SA-97946
Summary
The file listener does not work when run on multiple nodes using Goofys simulated file access on Pega Cloud. This occurs intermittently.
Error Messages
<pyStackTrace>com.pega.pegarules.pub.PRRuntimeException: FTP Connection failed at com.pegarules.generated.activity.ra_action_ftpservice_c3ab0012495cdc01128e8d10d75b38f7.step2_circum0(ra_action_ftpservice_c3ab0012495cdc01128e8d10d75b38f7.java:265) at com.pegarules.generated.activity.ra_action_ftpservice_c3ab0012495cdc01128e8d10d75b38f7.perform(ra_action_ftpservice_c3ab0012495cdc01128e8d10d75b38f7.java:89) at com.pega.pegarules.session.internal.mgmt.Executable.doActivity(Executable.java:2695) at com.pega.pegarules.session.internal.mgmt.Executable.invokeActivity(Executable.java:10961) at com.pegarules.generated.activity.ra_action_ftpextractfiles_4f78e224229501009cccc0b387208800.step4_circum0(ra_action_ftpextractfiles_4f78e224229501009cccc0b387208800.java:365) at com.pegarules.generated.activity.ra_action_ftpextractfiles_4f78e224229501009cccc0b387208800.perform(ra_action_ftpextractfiles_4f78e224229501009cccc0b387208800.java:130) at com.pega.pegarules.session.internal.mgmt.Executable.doActivity(Executable.java:2695) at com.pega.pegarules.integration.engine.internal.RuleExecutionUtils.runActivity(RuleExecutionUtils.java:378) at com.pega.pegarules.integration.engine.internal.services.file.RuleServiceFile.parseFileAtTime(RuleServiceFile.java:755) at com.pega.pegarules.integration.engine.internal.services.file.RuleServiceFile.process(RuleServiceFile.java:1756) at com.pega.pegarules.integration.engine.internal.services.file.FileActionImpl.execute(FileActionImpl.java:445) at com.pega.pegarules.storage.DirectoryPollingWatcher.run(DirectoryPollingWatcher.java:83) at com.pega.pegarules.integration.engine.internal.services.file.FileListener.run_(FileListener.java:468) at com.pega.pegarules.integration.engine.internal.services.listener.ServiceListenerBaseImpl.run(ServiceListenerBaseImpl.java:454) at java.lang.Thread.run(Thread.java:748) Caused by: com.pega.pegarules.pub.services.ConnectorException: Error working with local path: '/usr/local/tomcat/work/sync-data/your_path/your.csv', java.io.IOException: No such file or directory at com.pega.pegarules.integration.engine.internal.connect.ftp.FTPConnectorImpl.invoke(FTPConnectorImpl.java:530) at com.pega.pegarules.integration.engine.internal.util.PRServiceUtils.invokeFTPConnector(PRServiceUtils.java:3321) at com.pegarules.generated.activity.ra_action_ftpservice_c3ab0012495cdc01128e8d10d75b38f7.step2_circum0(ra_action_ftpservice_c3ab0012495cdc01128e8d10d75b38f7.java:261) ... 14 more Caused by: com.pega.pegarules.integration.engine.external.client.ftp.PegaFTPClient$FTPBadReplyException: java.io.IOException: No such file or directory at com.pega.pegarules.integration.engine.internal.client.ftp.JschSFTPClient.putFile(JschSFTPClient.java:513) at com.pega.pegarules.integration.engine.internal.connect.ftp.FTPConnectorImpl.invoke(FTPConnectorImpl.java:520) ... 16 more Caused by: 4: java.io.IOException: No such file or directory at com.jcraft.jsch.ChannelSftp._put(ChannelSftp.java:697) at com.jcraft.jsch.ChannelSftp.put(ChannelSftp.java:540) at com.jcraft.jsch.ChannelSftp.put(ChannelSftp.java:492) at com.pega.pegarules.integration.engine.internal.client.ftp.JschSFTPClient.putFile(JschSFTPClient.java:509) ... 17 more Caused by: java.io.IOException: No such file or directory at java.io.FileInputStream.readBytes(Native Method) at java.io.FileInputStream.read(FileInputStream.java:255) at com.pega.pegarules.storage.fs.resadaptor.InputStreamWrapper.read(InputStreamWrapper.java:283) at com.jcraft.jsch.ChannelSftp._put(ChannelSftp.java:636) ... 20 more
Steps to Reproduce
- Add a file to an S3 site.
- Start the Listener in multiple nodes.
Root Cause
This issue was determined to be a product enhancement request.
Support for S3 repository access was added to the Connect-FTP code.
Resolution
Apply HFix-59312.
Published February 10, 2020 - Updated December 2, 2021
Have a question? Get answers now.
Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.