You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@mina.apache.org by "Sreedhar J (Jira)" <ji...@apache.org> on 2020/09/01 17:06:00 UTC

[jira] [Updated] (SSHD-1071) SFTPFileSystem file copy to remote SFTP Server fails with buffer size 64K

     [ https://issues.apache.org/jira/browse/SSHD-1071?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Sreedhar J updated SSHD-1071:
-----------------------------
    Attachment: apache_sshd_2.5.1_sftpclient.log

> SFTPFileSystem  file copy to remote SFTP Server fails with buffer size 64K
> --------------------------------------------------------------------------
>
>                 Key: SSHD-1071
>                 URL: https://issues.apache.org/jira/browse/SSHD-1071
>             Project: MINA SSHD
>          Issue Type: Bug
>            Reporter: Sreedhar J
>            Priority: Critical
>         Attachments: apache_sshd_2.5.1_sftpclient.log
>
>
> Hi,  I am trying to put a file to remote SFTP Server using SFTPFileSystem  copy method.  It works will  when I set the buffersize to 32K.  But with buffer size set to 64K,  getting an exception.
> Here is the code
> public void putFile (String localFileName, String remoteFileName) throws IOException {
>  SftpClientFactory factory = SftpClientFactory.instance();
>  
>  SftpFileSystem fs = factory.createSftpFileSystem(session);
>  
>  fs.setReadBufferSize(65536);
>  fs.setWriteBufferSize(65536);
> // fs.setReadBufferSize( 32768);
> // fs.setWriteBufferSize(32768);
>  
>  Path localFile = Paths.get( localFileName);
>  Path remoteFile = fs.getPath(remoteFileName);
>  Files.copy( localFile, remoteFile);
>  }
>  
> Here is the Stacktrace
> 5827 2020-09-01 22:00:17,248 [NioProcessor-2] DEBUG org.apache.sshd.client.subsystem.sftp.impl.DefaultSftpClient$SftpChannelSubsystem - close(SftpChannelSubsystem[id=0, recipient=0]-ClientSessionImpl[jsreedha@/10.15.102.66:22][sftp]][Graceful] - operationComplete() closed
> Exception in thread "main" java.io.EOFException: Channel is being closed
>  at org.apache.sshd.common.channel.AbstractChannel$2.<init>(AbstractChannel.java:794)
>  at org.apache.sshd.common.channel.AbstractChannel.writePacket(AbstractChannel.java:792)
>  at org.apache.sshd.common.channel.ChannelAsyncOutputStream.doWriteIfPossible(ChannelAsyncOutputStream.java:168)
>  at org.apache.sshd.common.channel.ChannelAsyncOutputStream.onWritten(ChannelAsyncOutputStream.java:194)
>  at org.apache.sshd.common.channel.ChannelAsyncOutputStream.lambda$doWriteIfPossible$2(ChannelAsyncOutputStream.java:169)
>  at org.apache.sshd.common.channel.ChannelAsyncOutputStream$$Lambda$100.00000000135A3070.operationComplete(Unknown Source)
>  at org.apache.sshd.common.future.AbstractSshFuture.notifyListener(AbstractSshFuture.java:173)
>  at org.apache.sshd.common.future.DefaultSshFuture.notifyListeners(DefaultSshFuture.java:209)
>  at org.apache.sshd.common.future.DefaultSshFuture.setValue(DefaultSshFuture.java:112)
>  at org.apache.sshd.common.io.mina.MinaSession$Future.setWritten(MinaSession.java:195)
>  at org.apache.sshd.common.io.mina.MinaSession.lambda$write$2(MinaSession.java:183)
>  at org.apache.sshd.common.io.mina.MinaSession$$Lambda$57.0000000011860FB0.operationComplete(Unknown Source)
>  at org.apache.mina.core.future.DefaultIoFuture.notifyListener(DefaultIoFuture.java:423)
>  at org.apache.mina.core.future.DefaultIoFuture.notifyListeners(DefaultIoFuture.java:407)
>  at org.apache.mina.core.future.DefaultIoFuture.setValue(DefaultIoFuture.java:327)
>  at org.apache.mina.core.future.DefaultWriteFuture.setWritten(DefaultWriteFuture.java:103)
>  at org.apache.mina.core.filterchain.DefaultIoFilterChain.fireMessageSent(DefaultIoFilterChain.java:656)
>  at org.apache.mina.core.polling.AbstractPollingIoProcessor$Processor.fireMessageSent(AbstractPollingIoProcessor.java:1224)
>  at org.apache.mina.core.polling.AbstractPollingIoProcessor$Processor.writeBuffer(AbstractPollingIoProcessor.java:1132)
>  at org.apache.mina.core.polling.AbstractPollingIoProcessor$Processor.flushNow(AbstractPollingIoProcessor.java:994)
>  at org.apache.mina.core.polling.AbstractPollingIoProcessor$Processor.flush(AbstractPollingIoProcessor.java:921)
>  at org.apache.mina.core.polling.AbstractPollingIoProcessor$Processor.run(AbstractPollingIoProcessor.java:688)
>  at org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:64)
>  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1160)
>  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
>  at java.lang.Thread.run(Thread.java:818)
>  Suppressed: java.io.IOException: close(100mb.txt: 00000000) client is closed
>  at org.apache.sshd.client.subsystem.sftp.impl.AbstractSftpClient.close(AbstractSftpClient.java:720)
>  at org.apache.sshd.client.subsystem.sftp.impl.DefaultCloseableHandle.close(DefaultCloseableHandle.java:53)
>  at org.apache.sshd.client.subsystem.sftp.impl.SftpOutputStreamAsync.close(SftpOutputStreamAsync.java:256)
>  at java.nio.file.Files.copy(Files.java:3039)
>  at java.nio.file.CopyMoveHelper.copyToForeignTarget(CopyMoveHelper.java:137)
>  at java.nio.file.Files.copy(Files.java:1288)
>  at com.b2b.sftp.apache.sftpclient.ClientTest.putFile(ClientTest.java:156)
>  at com.b2b.sftp.apache.sftpclient.ClientTest.main(ClientTest.java:178)
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@mina.apache.org
For additional commands, e-mail: dev-help@mina.apache.org