[
https://issues.apache.org/jira/browse/CAMEL-10782?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15871638#comment-15871638
]
Stefan Roos commented on CAMEL-10782:
-------------------------------------
Actually camel is not able to retrieve the files ever from the root of the
users home directory, when readLock=changed.
This is because parent dir is resolved to "/" in
SftpChangedExclusiveReadLockStrategy:
line 81:
files = operations.listFiles(file.getParent());
File absolute path is "test.xml" because leading slash is stripped away from
the path,
so in getParent the parent is resolved to "//", which will the be normalized in
the methods last line to "/".
So getParent method returns server root as an argument to listFiles method.
I don't know what would be the best way to fix this, but I will continue to
investigate it if I have the time...
> SFTP: cannot get files from users home with readlock changed
> ------------------------------------------------------------
>
> Key: CAMEL-10782
> URL: https://issues.apache.org/jira/browse/CAMEL-10782
> Project: Camel
> Issue Type: Bug
> Components: camel-ftp
> Affects Versions: 2.16.4, 2.18.2
> Environment: servicemix 7.0.0, Linux SFTP server
> Reporter: Stefan Roos
> Priority: Minor
> Attachments: camel_2.18.2_sftp_problem_with_homedir
>
>
> Camel cannot fetch files from users home directory when using
> readlock=changed.
> Route from URI is defined like this:
> <from
> uri="sftp://testi@server:22?password=password&include=PSOP_123-.*\.(xml|pdf)&delete=true&readLock=changed&readLockTimeout=360000&readLockCheckInterval=180000&readLockMinAge=10s&maxMessagesPerPoll=100"/>
> And from TRACE logs I can see stuff like this:
> 2017-02-03 10:59:45,146 | TRACE | //testi@infra:22 |
> ChangedExclusiveReadLockStrategy | 225 - org.apache.camel.camel-ftp - 2.16.4
> | Using full directory listing to update file information for
> RemoteFile[PSOP_123-sdfsd.xml]. Consider enabling fastExistsCheck option.
> 2017-02-03 10:59:45,146 | TRACE | //testi@infra:22 | SftpOperations
> | 225 - org.apache.camel.camel-ftp - 2.16.4 | listFiles(/)
> 2017-02-03 10:59:45,150 | TRACE | //testi@infra:22 |
> ChangedExclusiveReadLockStrategy | 225 - org.apache.camel.camel-ftp - 2.16.4
> | List files PSOP_123-sdfsd.xml found 23 files
> 2017-02-03 10:59:45,150 | TRACE | //testi@infra:22 |
> ChangedExclusiveReadLockStrategy | 225 - org.apache.camel.camel-ftp - 2.16.4
> | Previous last modified: 0, new last modified: 0
> 2017-02-03 10:59:45,150 | TRACE | //testi@infra:22 |
> ChangedExclusiveReadLockStrategy | 225 - org.apache.camel.camel-ftp - 2.16.4
> | Previous length: 0, new length: 0
> 2017-02-03 10:59:45,150 | TRACE | //testi@infra:22 |
> ChangedExclusiveReadLockStrategy | 225 - org.apache.camel.camel-ftp - 2.16.4
> | New older than threshold: 1486112375150
> 2017-02-03 10:59:45,150 | TRACE | //testi@infra:22 |
> ChangedExclusiveReadLockStrategy | 225 - org.apache.camel.camel-ftp - 2.16.4
> | Exclusive read lock not granted. Sleeping for 20000 millis.
> User home directory contains only 1 file, which does match to include
> parameter. It does seem, that camel-ftp is trying to check file readlock from
> the server root.
> When placing the files to a subdirectory in users home, this does not happen.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)