camel-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Claus Ibsen (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (CAMEL-8954) Lock information is not handovered together with Exchange on-completion synchronizations
Date Thu, 16 Jul 2015 16:27:05 GMT

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

Claus Ibsen updated CAMEL-8954:
-------------------------------
    Fix Version/s: 2.16.0

> Lock information is not handovered together with Exchange on-completion synchronizations
> ----------------------------------------------------------------------------------------
>
>                 Key: CAMEL-8954
>                 URL: https://issues.apache.org/jira/browse/CAMEL-8954
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-core
>    Affects Versions: 2.14.3
>            Reporter: Andy Fedotov
>            Assignee: Claus Ibsen
>            Priority: Minor
>             Fix For: 2.16.0
>
>         Attachments: MarkerFileExclusiveReadLockStrategyUnlockTest.java
>
>
> This applies to the file components when using common read-lock strategies:
> - *markerFile* - org.apache.camel.component.file.strategy.MarkerFileExclusiveReadLockStrategy
> - *fileLock* - org.apache.camel.component.file.strategy.FileLockExclusiveReadLockStrategy
> This strategies stores lock information in the Exchange properties:
> - *Exchange.FILE_LOCK_FILE_ACQUIRED* == "CamelFileLockFileAcquired"
> - *Exchange.FILE_LOCK_FILE_NAME* == "CamelFileLockFileName"
> - *Exchange.FILE_LOCK_EXCLUSIVE_LOCK* == "CamelFileLockExclusiveLock"
> - *Exchange.FILE_LOCK_RANDOM_ACCESS_FILE* == "CamelFileLockRandomAccessFile"
> Lock information is stored as scalar values and can hold information about _only one
single lock_.
> When there are two Exchanges participates in the route, share UoW, and synchronizations
are handovered from one Exchange to another, information about both locks can't be stored
in the Exchange properties and lost. Consequently when on-completion synchronizations are
performed, read-lock strategies can't access information about all the locks and they are
not released.
> For example, after completing this route lock for file1.dat is not released:
> {code:java}
> from("file:data/input-a?fileName=file1.dat&readLock=markerFile")
>     .pollEnrich("file:data/input-b?fileName=file2.dat&readLock=markerFile")
>     .to("mock:result");
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message