Uploaded image for project: 'Camel'
  1. Camel
  2. CAMEL-14506

came-ftp - streamDownload=true and stepwise=true for larger files could cause deadlock

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 3.1.0
    • Fix Version/s: 3.1.0
    • Component/s: camel-ftp
    • Labels:
      None
    • Estimated Complexity:
      Unknown

      Description

      If downloading files of size bigger then about 0,5 MB (differs on other parameters) with option streamDownload=true and stepwise=true (default values), operation could freeze (on my local environment it freezes with 100% certainty), because retrieved inputstream has to be closed before calling other commands .
      See https://commons.apache.org/proper/commons-net/apidocs/org/apache/commons/net/ftp/FTPClient.html#retrieveFileStream(java.lang.String)

      To finalize the file transfer you must call completePendingCommand and check its return value to verify success. If this is not done, subsequent commands may behave unexpectedly.

      Problem happens if retrieval of file is immediately followed by change of directory.

      I can imagine fix, which doesn't make change of directory, if is not necessary and it would be nice to add note to documentation, that streamDownload and stepWise options together could cause unexpected behavior for larger filespossibly (possible freeze of component)

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                jondruse Jiri Ondrusek
                Reporter:
                jondruse Jiri Ondrusek
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 20m
                  20m