We have an issue where our CPI processing time increases as times has passed. We are rather certain that the process step, which takes more and more time, is one where the process writes a PDF file back to SFTP server. The more pdf files there are, the longer it seems to take. Our main suspect is CPI's SFTP Receiver Adapter.
Apache Camel has this query parameter, which might tackle the issue;
fastExistsCheck (common)
If set this option to be true, camel-ftp will use the list file directly to check if the file exists. Since some FTP server may not support to list the file directly, if the option is false, camel-ftp will use the old way to list the directory and check if the file exists. This option also influences readLock=changed to control whether it performs a fast check to update file information or not. This can be used to speed up the process if the FTP server has a lot of files.
Am I able to enable this via Groovy Script? Or am I able to circumvent this problem
EDIT: The SFTP URL is currently (sensitive information obfuscated):
sap-sftp:225.225.225.0//mypath/pdf?connectTimeout=10000&soTimeout=300000&maximumReconnectAttempts=3&reconnectDelay=333&disconnect=false&stepwise=true&autoCreate=false&fileExist=Override&useTempFile=true&bufferSize=24576â™ten=false&pdUri=&authMethod=user≺oxyType=internet&credential=myCredential&tempFile=JHtwcm9wZXJ0eS5wZGZGaWxlTmFtZX0udG1w&passwordStorage=#secureStore&knownHostsAccess=#knownHostsAccess&connectivityServiceProvider=#connectivityServiceProvider&keyStoreAccess=#keyStoreAccess
As a workaround, would I be able to manipulate the URL so that I could inject the fastExistsCheck -parameter?
sap-sftp:225.225.225.0//mypath/pdf?fastExistsCheck=true&connectTimeout=10000&soTimeout=300000&maximumReconnectAttempts=3&reconnectDelay=333&disconnect=false&stepwise=true&autoCreate=false&fileExist=Override&useTempFile=true&bufferSize=24576â™ten=false&pdUri=&authMethod=user≺oxyType=internet&credential=myCredential&tempFile=JHtwcm9wZXJ0eS5wZGZGaWxlTmFtZX0udG1w&passwordStorage=#secureStore&knownHostsAccess=#knownHostsAccess&connectivityServiceProvider=#connectivityServiceProvider&keyStoreAccess=#keyStoreAccess
Apparently this URL is stored in property SAP_SftpUrl, but it appears that the property is generated in the end of the process branch so that I can't manipulate it in earlier steps (e.g. with a groovy script).
EDIT 2: Setting the SFTP Receiver parameter Handling for Existing Files to "Ignore" (instead of Override) seems to decrease the processing time quite significantly, but we don't necessarily want to bypass the existence check completely.
Request clarification before answering.
Hello Kimmo,
I guess its not possible to inject this parameter while using SFTP channel.I would appreciate if you could raise a ticket to LOD-HCI-PI-CON to check further on enabling this parameter.
Also please enable the trace and see which step is consuming most of the processing time.
Regards,
Sriprasad Shivaram Bhat
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
| User | Count |
|---|---|
| 5 | |
| 4 | |
| 4 | |
| 3 | |
| 2 | |
| 2 | |
| 2 | |
| 2 | |
| 2 | |
| 2 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.