You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Stephan Siano (JIRA)" <ji...@apache.org> on 2013/07/30 15:15:49 UTC

[jira] [Created] (CAMEL-6591) SFTP endpoint fails if the server disconnected the socket

Stephan Siano created CAMEL-6591:
------------------------------------

             Summary: SFTP endpoint fails if the server disconnected the socket
                 Key: CAMEL-6591
                 URL: https://issues.apache.org/jira/browse/CAMEL-6591
             Project: Camel
          Issue Type: Bug
          Components: camel-ftp
    Affects Versions: 2.11.1
            Reporter: Stephan Siano


If the ssh server disconnects the socket held by an SFTP endpoint (and the disconnect option is not set to true) the next call to this endpoint will fail. A call after the failed call will reconnect (and succeed if the server is available again).

The error message is as follows:
SftpSimpleProduceDisconnectTest
org.apache.camel.component.file.remote.sftp.SftpSimpleProduceDisconnectTest
testSftpSimpleProduce(org.apache.camel.component.file.remote.sftp.SftpSimpleProduceDisconnectTest)
org.apache.camel.CamelExecutionException: Exception occurred during execution on the exchange: Exchange[Message: Hello World]

	at org.apache.camel.util.ObjectHelper.wrapCamelExecutionException(ObjectHelper.java:1360)

	at org.apache.camel.util.ExchangeHelper.extractResultBody(ExchangeHelper.java:619)

	at org.apache.camel.impl.DefaultProducerTemplate.extractResultBody(DefaultProducerTemplate.java:454)

	at org.apache.camel.impl.DefaultProducerTemplate.extractResultBody(DefaultProducerTemplate.java:450)

	at org.apache.camel.impl.DefaultProducerTemplate.sendBodyAndHeader(DefaultProducerTemplate.java:152)

	at org.apache.camel.impl.DefaultProducerTemplate.sendBodyAndHeader(DefaultProducerTemplate.java:146)

	at org.apache.camel.component.file.remote.sftp.SftpSimpleProduceDisconnectTest.testSftpSimpleProduce(SftpSimpleProduceDisconnectTest.java:50)

	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

	at java.lang.reflect.Method.invoke(Unknown Source)

	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)

	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)

	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)

	at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)

	at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)

	at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)

	at org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:55)

	at org.junit.rules.RunRules.evaluate(RunRules.java:20)

	at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)

	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)

	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)

	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)

	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)

	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)

	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)

	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)

	at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)

	at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)

	at org.junit.runners.ParentRunner.run(ParentRunner.java:309)

	at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)

	at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)

	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)

	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)

	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)

	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)

Caused by: org.apache.camel.component.file.GenericFileOperationFailedException: Cannot change directory to: target

	at org.apache.camel.component.file.remote.SftpOperations.doChangeDirectory(SftpOperations.java:536)

	at org.apache.camel.component.file.remote.SftpOperations.changeCurrentDirectory(SftpOperations.java:524)

	at org.apache.camel.component.file.remote.SftpOperations.storeFile(SftpOperations.java:771)

	at org.apache.camel.component.file.GenericFileProducer.writeFile(GenericFileProducer.java:278)

	at org.apache.camel.component.file.GenericFileProducer.processExchange(GenericFileProducer.java:166)

	at org.apache.camel.component.file.remote.RemoteFileProducer.process(RemoteFileProducer.java:49)

	at org.apache.camel.util.AsyncProcessorConverterHelper$ProcessorToAsyncProcessorBridge.process(AsyncProcessorConverterHelper.java:61)

	at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:192)

	at org.apache.camel.processor.UnitOfWorkProducer.process(UnitOfWorkProducer.java:73)

	at org.apache.camel.impl.ProducerCache$2.doInProducer(ProducerCache.java:366)

	at org.apache.camel.impl.ProducerCache$2.doInProducer(ProducerCache.java:1)

	at org.apache.camel.impl.ProducerCache.doInProducer(ProducerCache.java:233)

	at org.apache.camel.impl.ProducerCache.sendExchange(ProducerCache.java:337)

	at org.apache.camel.impl.ProducerCache.send(ProducerCache.java:175)

	at org.apache.camel.impl.DefaultProducerTemplate.send(DefaultProducerTemplate.java:111)

	at org.apache.camel.impl.DefaultProducerTemplate.sendBodyAndHeader(DefaultProducerTemplate.java:150)

	... 31 more

Caused by: 4: 

	at com.jcraft.jsch.ChannelSftp.cd(ChannelSftp.java:332)

	at org.apache.camel.component.file.remote.SftpOperations.doChangeDirectory(SftpOperations.java:534)

	... 46 more

Caused by: java.io.IOException: Pipe closed

	at java.io.PipedInputStream.read(Unknown Source)

	at java.io.PipedInputStream.read(Unknown Source)

	at com.jcraft.jsch.ChannelSftp.fill(ChannelSftp.java:2665)

	at com.jcraft.jsch.ChannelSftp.header(ChannelSftp.java:2691)

	at com.jcraft.jsch.ChannelSftp._realpath(ChannelSftp.java:2148)

	at com.jcraft.jsch.ChannelSftp.cd(ChannelSftp.java:315)

	... 47 more



--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira