Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Qlik Open Lakehouse is Now Generally Available! Discover the key highlights and partner resources here.
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

tftpPut component error "Exception in component tFTPPut_1 2: No such file"

tftpPut component error Hi all, I'm using tFTP component in order to upload a file to an SFTP server. Talend returns below error message: Exception in component tFTPPut_1 2: No such file at com.jcraft.jsch.ChannelSftp.throwStatusError(ChannelSftp.java:2846) at com.jcraft.jsch.ChannelSftp._stat(ChannelSftp.java:2198) at com.jcraft.jsch.ChannelSftp._stat(ChannelSftp.java:2215) at com.jcraft.jsch.ChannelSftp.stat(ChannelSftp.java:2172) According to my investigaetion, it seems that the error is raised because our partner monitors the directory and pulls the file before Talend has a chance to go in and confirm or not file upload. So the component produces the error because there is no file for confirmation!!! Is there any "skip" option - any workaround in general - in order to avoid that error or is there any other option to upload the file ? I'm using Talend Open Studio 6.5.1 Regards, Rahul

Labels (3)
1 Solution

Accepted Solutions
Anonymous
Not applicable
Author

Hi,

 

    This is a clear case of taking assumptions by client without understanding the underlying technical factors 🙂

 

     Whether client likes it or not, its a reality that for any file transfer process, the file will have to be first created and then the data will be copied to that file.

 

      Now another way is to create the file and transfer the data in target location with altogether different name or with a different extension. Once the data transfer is complete, you can run file rename process using tFTPRename so that file name will be converted to actual name. So in client's visibility, the file got created just at that point.

 

      Please refer the help document for details of this component.

 

https://help.talend.com/reader/jomWd_GKqAmTZviwG_oxHQ/Ygfnv0gSZjCTp3gLRmxt6A

 

      But the client process should be intelligent enough to pick only the file names with specific naming conventions. They should not do a general sweep to collect all the garbage data from that folder. This part you will have to educate them. If they are still showing defiance, please request them to list out their concerns in the community under this post so that our Talend community members can help them to understand.


Warm Regards,
Nikhil Thampi

Please appreciate our Talend community members by giving Kudos for sharing their time for your query. If your query is answered, please mark the topic as resolved 🙂

View solution in original post

4 Replies
akumar2301
Specialist II
Specialist II

If there is PULL on sftp location , it is better to 1st upload file in temporary path and then move(by renaming) the file to correct folder on remote server.
Anonymous
Not applicable
Author

Hi Rahul,

 

     This is a classic case of FTP issue where the consumer is trying to pull the record before the producer has moved the file to the target directory. There are multiple ways of remediation for this issue.

 

a) One of the most popular methods is to send a trigger file along with actual data file. The actual data file may take more time to transfer depending on its file size. Once the actual file is transmitted fully, then only producer fill transfer the trigger file (which will be an empty file with specific name) to indicate that the file transfer is over. Once the consumer identify the trigger file, then they can start pulling the data from the site. 

 

b) Add a trailer record at the actual file to indicate that file transfer is complete. The consumer need to verify whether the trailer record is available before making the full pull of the file.

 

c) Consumer to poll the size of the file at regular intervals (say 10 or 20 seconds) to make sure that file added by the producer is not growing. If the file has reached a stable size, then consumer can start extracting the file.

 

     There are many other methods also but these are by far the most popular ones. Hope I have answered your query 🙂


Warm Regards,
Nikhil Thampi

Please appreciate our Talend community members by giving Kudos for sharing their time for your query. If your query is answered, please mark the topic as resolved 🙂

 

 

Anonymous
Not applicable
Author

Main Prob is client is not willing to check for trailer records or trigger file. They want that whenever we will place file they will not wait or validate anything they will immediately fetch file.Is there any other way using any component to avoid this error?

Anonymous
Not applicable
Author

Hi,

 

    This is a clear case of taking assumptions by client without understanding the underlying technical factors 🙂

 

     Whether client likes it or not, its a reality that for any file transfer process, the file will have to be first created and then the data will be copied to that file.

 

      Now another way is to create the file and transfer the data in target location with altogether different name or with a different extension. Once the data transfer is complete, you can run file rename process using tFTPRename so that file name will be converted to actual name. So in client's visibility, the file got created just at that point.

 

      Please refer the help document for details of this component.

 

https://help.talend.com/reader/jomWd_GKqAmTZviwG_oxHQ/Ygfnv0gSZjCTp3gLRmxt6A

 

      But the client process should be intelligent enough to pick only the file names with specific naming conventions. They should not do a general sweep to collect all the garbage data from that folder. This part you will have to educate them. If they are still showing defiance, please request them to list out their concerns in the community under this post so that our Talend community members can help them to understand.


Warm Regards,
Nikhil Thampi

Please appreciate our Talend community members by giving Kudos for sharing their time for your query. If your query is answered, please mark the topic as resolved 🙂