Uploaded image for project: 'Commons Net'
  1. Commons Net
  2. NET-505

User specified bufferSize reset to default when FTPClient is disconnected or reinitialized resulting in performance degradation

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 3.2
    • Fix Version/s: 3.3
    • Component/s: FTP
    • Labels:
      None

      Description

      The _bufferSize member variable is reset in the __initDefaults() method. This method is called from the FTPClient's constructor, _connectAction, reinitialize, and disconnect. This can happen when the FTPClient is re-used after the remote server closes a session due to a timeout, for example.

      If the bufferSize is set by the user via the setBufferSize() method, the value is lost when the buffer size is reset. Since the default buffer size controls the amount read from the input stream and written to the output stream, and is so low by default (1024B as defined by Util.DEFAULT_BUFFER_SIZE) the performance of FTPClient drops dramatically.

      The recommendation would be to initialize __bufferSize to zero when it is declared and then remove the assignment in __initDefaults().

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              keriisan Sean Kelley
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: