Sreedhar J created SSHD-1071:
--------------------------------
Summary: 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
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: [email protected]
For additional commands, e-mail: [email protected]