Uploaded image for project: 'Synapse'
  1. Synapse
  2. SYNAPSE-847

VFS transport throws exception, when try to pull large (>150kb) file from FTP location

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Blocker
    • Resolution: Fixed
    • None
    • 3.0.0
    • Transports
    • None

    Description

      When try to pull larger file from an ftp location , i face the following issue[1]..I used following proxy configuration[2]

      The issue is here, vfs transport listener closes the stream before the vfs transport sender reads it.. As a workaround, i added a Stringbuffer @ listener with a limited buffer size to read the soap envelope..
      Attached the patch with this workaround..
      Please review and commit

      [1]
      r the specified or optional timeout
      [2012-02-29 15:39:19,321] ERROR - VFSTransportListener Error closing stream
      org.apache.commons.vfs2.FileSystemException: Could not close the input stream for file "ftp://anonymous@localhost/in/textfile.txt?vfs.passive=true".
      at org.apache.commons.vfs2.provider.DefaultFileContent$FileContentInputStream.close(DefaultFileContent.java:612)
      at org.apache.synapse.transport.vfs.VFSTransportListener.processFile(VFSTransportListener.java:566)
      at org.apache.synapse.transport.vfs.VFSTransportListener.scanFileOrDirectory(VFSTransportListener.java:306)
      at org.apache.synapse.transport.vfs.VFSTransportListener.poll(VFSTransportListener.java:157)
      at org.apache.synapse.transport.vfs.VFSTransportListener.poll(VFSTransportListener.java:106)
      at org.apache.axis2.transport.base.AbstractPollingTransportListener$1$1.run(AbstractPollingTransportListener.java:67)
      at org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:173)
      at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
      at java.lang.Thread.run(Thread.java:619)
      Caused by: org.apache.commons.vfs2.FileSystemException: Could not get FTP file "ftp://anonymous@localhost/in/textfile.txt?vfs.passive=true".
      at org.apache.commons.vfs2.provider.ftp.FtpFileObject$FtpInputStream.onClose(FtpFileObject.java:731)
      at org.apache.commons.vfs2.util.MonitorInputStream.close(MonitorInputStream.java:140)
      at java.io.BufferedInputStream.close(BufferedInputStream.java:451)
      at org.apache.commons.vfs2.util.MonitorInputStream.close(MonitorInputStream.java:130)
      at org.apache.commons.vfs2.provider.DefaultFileContent$FileContentInputStream.close(DefaultFileContent.java:608)
      ... 9 more
      [2012-02-29 15:39:19,324] ERROR - VFSTransportListener Error processing File URI : ftp://anonymous@localhost/in/textfile.txt?vfs.passive=true
      org.apache.axis2.AxisFault: Error closing stream
      at org.apache.axis2.transport.base.AbstractTransportListener.handleException(AbstractTransportListener.java:343)
      at org.apache.synapse.transport.vfs.VFSTransportListener.processFile(VFSTransportListener.java:568)
      at org.apache.synapse.transport.vfs.VFSTransportListener.scanFileOrDirectory(VFSTransportListener.java:306)
      at org.apache.synapse.transport.vfs.VFSTransportListener.poll(VFSTransportListener.java:157)
      at org.apache.synapse.transport.vfs.VFSTransportListener.poll(VFSTransportListener.java:106)
      at org.apache.axis2.transport.base.AbstractPollingTransportListener$1$1.run(AbstractPollingTransportListener.java:67)
      at org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:173)
      at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
      at java.lang.Thread.run(Thread.java:619)
      Caused by: org.apache.commons.vfs2.FileSystemException: Could not close the input stream for file "ftp://anonymous@localhost/in/textfile.txt?vfs.passi
      ve=true".
      at org.apache.commons.vfs2.provider.DefaultFileContent$FileContentInputStream.close(DefaultFileContent.java:612)
      at org.apache.synapse.transport.vfs.VFSTransportListener.processFile(VFSTransportListener.java:566)
      ... 8 more
      Caused by: org.apache.commons.vfs2.FileSystemException: Could not get FTP file "ftp://anonymous@localhost/in/textfile.txt?vfs.passive=true".
      at org.apache.commons.vfs2.provider.ftp.FtpFileObject$FtpInputStream.onClose(FtpFileObject.java:731)

      Attachments

        1. vfsTransport.patch
          3 kB
          Vijayaratha Vijayasingam

        Activity

          People

            udayangaw@wso2.com Udayanga Wickramasinghe
            ratha Vijayaratha Vijayasingam
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: