Uploaded image for project: 'Fuse/AMQ Documentation'
  1. Fuse/AMQ Documentation
  2. FUSEDOC-2830

soTimeout option is used by SFTP of camel-ftp

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Major
    • fuse-7.3
    • 6.3
    • Camel
    • None
    • Sprint 2018-39, Sprint 2019-40, Sprint 2019-41, Sprint 2019-42, Sprint 2019-43

    Description

      According to the document(1), `soTimeout` is used only for `FTP and FTPS`, not SFTP.
      However, as long as I read the source code(2), `soTimeout` is used for `Session.setTimeout()`(3) of SFTP. I guess this is a documentation bug.

      The source code(2) was fixed by CAMEL-8757(4). I think the modification of the document was missed when to fix.

      By the way, our community document(5) is also not correct.

      (1) Fuse Document
      https://access.redhat.com/documentation/en-us/red_hat_jboss_fuse/6.3/html-single/apache_camel_component_reference/#IDU-FTP2
      ~~~

      • connectTimeout
        • Camel 2.4: Is the connect timeout in millis. This corresponds to using ftpClient.connectTimeout for the FTP/FTPS. For SFTP this option is also used when attempting to connect.
      • soTimeout
        • FTP and FTPS Only:Camel 2.4: Is the SocketOptions.SO_TIMEOUT value in millis.
      • timeout
        • FTP and FTPS Only:Camel 2.4: Is the data timeout in millis. This corresponds to using ftpClient.dataTimeout for the FTP/FTPS. For SFTP there is no data timeout.
          ~~~

      (2) org/apache/camel/component/file/remote/SftpOperations.java

              // set the SO_TIMEOUT for the time after the connect phase
               if (configuration.getSoTimeout() > 0) {
                   session.setTimeout(configuration.getSoTimeout());
               }
      

      (3) com.jcraft.jsch.Session Java Doc
      https://epaul.github.io/jsch-documentation/simple.javadoc/com/jcraft/jsch/Session.html#setTimeout-int-
      ~~~
      sets the timeout setting. This value is used as the socket timeout parameter, and also as the default connection timeout.
      ~~~

      (4) [CAMEL-8757] SO_TIMEOUT not really set on SFTP connections

      (5) Community Document
      http://people.apache.org/~dkulp/camel/ftp2.html
      ~~~

      • connectTimeout
        • Camel 2.4: Is the connect timeout in millis. This corresponds to using ftpClient.connectTimeout for the FTP/FTPS. For SFTP this option is also used when attempting to connect.
      • soTimeout
        • FTP and FTPS Only: Camel 2.4: Is the SocketOptions.SO_TIMEOUT value in millis. Note SFTP will automatic use the connectTimeout as the soTimeout.
      • timeout
        • FTP and FTPS Only: Camel 2.4: Is the data timeout in millis. This corresponds to using ftpClient.dataTimeout for the FTP/FTPS. For SFTP there is no data timeout.
          ~~~

      Attachments

        Activity

          People

            nshendye@redhat.com Nilam Shendye
            rhn-support-tyamashi Tomonari Yamashita
            Jan Kasztura Jan Kasztura (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Time Tracking

                Estimated:
                Original Estimate - 1 day
                1d
                Remaining:
                Time Spent - 6 hours Remaining Estimate - 2 hours
                2h
                Logged:
                Time Spent - 6 hours Remaining Estimate - 2 hours
                6h