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

Maria Iracheta updated CAMEL-3789:
----------------------------------

    Attachment: GenericFileDeleteProcessStrategy.java.patch

The method begin was calling super.begin and passing the original File instead 
of the renamed File. But in the rollback and the commit methods the file passed 
is the renamed File. So in the begin method we are using the original file but 
in rollback and commit we are using the renamed File.

> org.apache.camel.component.file.strategy.MarkerFileExclusiveReadLockStrategy 
> is not thread-safe
> -----------------------------------------------------------------------------------------------
>
>                 Key: CAMEL-3789
>                 URL: https://issues.apache.org/jira/browse/CAMEL-3789
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-core
>    Affects Versions: 2.6.0
>            Reporter: Maria Iracheta
>         Attachments: FileOperations.java.patch, 
> GenericFileDeleteProcessStrategy.java.patch, 
> GenericFileRenameProcessStrategy.java.patch, 
> MarkerFileExclusiveReadLockStrategy.java.patch
>
>
> MarkerFileExclusiveReadLockStrategy is not thread-safe. When I run  a File 
> endpoint with more than one thread the MarkerFileExclusiveReadLockStrategy 
> only deletes the last file to start being processed. 
> The MarkerFileExclusiveReadLockStrategy uses global variables: 
> private File lock; 
> private String lockFileName; 
> and gives them values on the acquireExclusiveReadLock method. When another 
> thread calls the releaseExclusiveReadLock method it uses the global variables 
> to delete the locked file. That means that if another thread came and called 
> the acquireExclusiveReadLock it would have changed the values on the global 
> variables. 
> If lock and lockFileName are not global variables the problem seems to 
> disappear and I can a multithreaded File endpoint and not locked file is left 
> undeleted. 

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to