elasticio / sftp-component

SFTP component for the elastic.io platform
Apache License 2.0
2 stars 3 forks source link

Component behavior violates at-least-once platform behavior #35

Open zubairov opened 4 years ago

zubairov commented 4 years ago

When reading files from SFTP Server, failure in component execution do lead to retry

Steps to reproduce

  1. Upload 10+ files of 50MB to SFTP folder
  2. Build an integration flow with a single SFTP trigger reading from the folder
  3. Launch it

Expected result

  1. Flow suspended, however number of files in .elasticio_processed directory equal to the number of successfully generated messages (seen as green in log)

Actual result

  1. Flow suspended however .elasticio_processed folder has more files than successful messages in the log

Reasoning behind

SFTP component first moves the file to processed directory and after that reads the file, this behavior is beneficial from concurrency perspective when multiple pollers poll the same folder, however in case of container failures (e.g. OOM) file is not rep-processed / re-uploaded again.

jhorbulyk commented 4 years ago

This concern should be solved by https://github.com/elasticio/sftp-component/issues/31