I tried upgrading to jcraft v0.1.42 but the problem still exists. I can recreate the problem by copying a large file > 1MB onto the Sftp server, and keeping the file open until after the next poll.
Claus Ibsen-2 wrote: > > Hi > > Btw you can try upgrading to a new jcraft .jar. v0.1.42 is out and we > have upgraded to that in Camel 2.3. > Camel 2.2 was using 0.1.40. > > > On Thu, Apr 15, 2010 at 4:21 PM, watcher <patr...@daly.ws> wrote: >> >> Hi Claus >> >> Thanks for the quick reply. >> >> The status code 3 is SSH_ERROR_PERMISSION_DENIED (the authenticated user >> does not have sufficient permissions to perform the operation.) >> >> http://www.eldos.com/documentation/sbb/documentation/ref_err_sftperrorcodes.html >> http://www.eldos.com/documentation/sbb/documentation/ref_err_sftperrorcodes.html >> >> Yes the problem happens for all other incoming files, restarting the >> application seems to repair the problem. >> I dont see in the logs any sign of camel disconnecting from the session >> and >> retrying to login. >> >> Most of our clients write to the incoming sftp folder using a temporary >> filename before renaming it however that might not be possible to for one >> of >> our clients in the short to medium term. >> >> I didnt think it was a issue as the readlock has work successfully with >> the >> file component and I aware they share a common code base. >> >> >> >> Claus Ibsen-2 wrote: >>> >>> Hi >>> >>> The SFTP library is returning an exception with status code 3. You may >>> dig around what that means. >>> >>> When this problem occurs, does the same problem occur on next poll? >>> The ftp component have build in self healing, but that is limited to >>> the ftp connection/session. >>> So in case there is something wrong with the session it re login >>> automatic. >>> >>> Also you can use readLock=none as uri parameter to not use locks at >>> all. You can do this if you do not have a race condition >>> where another party is writing a new file, which you then want to >>> download. >>> >>> Its actually best to let the other party write to another directory >>> and then when the file is complete, move it in place. >>> Or write using a temporary filename, and then rename when write is >>> complete. >>> >>> >>> >>> On Thu, Apr 15, 2010 at 1:37 PM, watcher <patr...@daly.ws> wrote: >>>> >>>> Apache Camel 2.2 >>>> Windows Server 2003 >>>> >>>> I'm running an application that polls an SFTP server. I works to a >>>> point >>>> but >>>> after some time the applications fails trying to get an exclusive lock >>>> on >>>> the file. Whick seems to indicate that it is a permission problem. >>>> However >>>> restarting the application (camel) fixes the issue. Could it be a fault >>>> with >>>> camel? >>>> >>>> [code] >>>> >>>> <camel:camelContext xmlns="http://camel.apache.org/schema/spring"> >>>> <camel:routeBuilder ref="myRouter"/> >>>> <camel:endpoint id="printerIncoming" >>>> uri="sftp://${printerincomi...@${ipaddress}?password=password&binary=true&recursive=true&delay=10000&initialDelay=2000&move=.done&knownHostsFile=c://known_host&filter=#myAntFilter"/> >>>> </camel:camelContext> >>>> >>>> >>>> <!-- we use the AntPathMatcherRemoteFileFilter to use ant paths >>>> for >>>> includes and exlucde --> >>>> <bean id="myAntFilter" >>>> class="org.apache.camel.component.file.AntPathMatcherGenericFileFilter"> >>>> <property name="includes" >>>> value="**/incoming/*.PDF,**/incoming/*.pdf"/> >>>> <property name="excludes" value="**/outgoing/**"/> >>>> >>>> </bean> >>>> [/code] >>>> >>>> [code] >>>> 15 Apr 2010 10:17:57,077 ERROR [Camel thread 0: SftpComponent] >>>> SftpConsumer.log(248) | Caused by: >>>> [org.apache.camel.component.file.GenericFileOperationFailedException - >>>> Cannot rename file from: user/incoming/test_file.pdf to: >>>> test_file.pdf.camelExclusiveReadLock] >>>> org.apache.camel.component.file.GenericFileOperationFailedException: >>>> Cannot >>>> rename file from: user/incoming/test_file.pdf to: >>>> test_file.pdf.camelExclusiveReadLock >>>> at >>>> org.apache.camel.component.file.remote.SftpOperations.renameFile(SftpOperations.java:205) >>>> at >>>> org.apache.camel.component.file.strategy.GenericFileRenameExclusiveReadLockStrategy.acquireExclusiveReadLock(GenericFileRenameExclusiveReadLockStrategy.java:68) >>>> at >>>> org.apache.camel.component.file.strategy.GenericFileProcessStrategySupport.begin(GenericFileProcessStrategySupport.java:44) >>>> at >>>> org.apache.camel.component.file.strategy.GenericFileRenameProcessStrategy.begin(GenericFileRenameProcessStrategy.java:38) >>>> at >>>> org.apache.camel.component.file.GenericFileConsumer.processExchange(GenericFileConsumer.java:221) >>>> at >>>> org.apache.camel.component.file.GenericFileConsumer.processBatch(GenericFileConsumer.java:137) >>>> at >>>> org.apache.camel.component.file.GenericFileConsumer.poll(GenericFileConsumer.java:103) >>>> at >>>> org.apache.camel.impl.ScheduledPollConsumer.run(ScheduledPollConsumer.java:106) >>>> at java.util.concurrent.Executors$RunnableAdapter.call(Unknown >>>> Source) >>>> at java.util.concurrent.FutureTask$Sync.innerRunAndReset(Unknown >>>> Source) >>>> at java.util.concurrent.FutureTask.runAndReset(Unknown Source) >>>> at >>>> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(Unknown >>>> Source) >>>> at >>>> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(Unknown >>>> Source) >>>> at >>>> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown >>>> Source) >>>> at >>>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown >>>> Source) >>>> at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown >>>> Source) >>>> at java.lang.Thread.run(Unknown Source) >>>> Caused by: 3: >>>> at >>>> com.jcraft.jsch.ChannelSftp.throwStatusError(ChannelSftp.java:2287) >>>> at com.jcraft.jsch.ChannelSftp.rename(ChannelSftp.java:1479) >>>> at >>>> org.apache.camel.component.file.remote.SftpOperations.renameFile(SftpOperations.java:202) >>>> ... 16 more >>>> [/code] >>>> -- >>>> View this message in context: >>>> http://old.nabble.com/SFTP-rename-problems-tp28254146p28254146.html >>>> Sent from the Camel - Users mailing list archive at Nabble.com. >>>> >>>> >>> >>> >>> >>> -- >>> Claus Ibsen >>> Apache Camel Committer >>> >>> Author of Camel in Action: http://www.manning.com/ibsen/ >>> Open Source Integration: http://fusesource.com >>> Blog: http://davsclaus.blogspot.com/ >>> Twitter: http://twitter.com/davsclaus >>> >>> >> >> -- >> View this message in context: >> http://old.nabble.com/SFTP-rename-problems-tp28254146p28255938.html >> Sent from the Camel - Users mailing list archive at Nabble.com. >> >> > > > > -- > Claus Ibsen > Apache Camel Committer > > Author of Camel in Action: http://www.manning.com/ibsen/ > Open Source Integration: http://fusesource.com > Blog: http://davsclaus.blogspot.com/ > Twitter: http://twitter.com/davsclaus > > -- View this message in context: http://old.nabble.com/SFTP-rename-problems-tp28254146p28287939.html Sent from the Camel - Users mailing list archive at Nabble.com.