[ 
https://issues.apache.org/jira/browse/CAMEL-4271?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15894361#comment-15894361
 ] 

Claus Ibsen commented on CAMEL-4271:
------------------------------------

Either there should be some SQL table locking or maybe use an external 
clustered data-grid with cluster locks like hazelcast / etcd / zookeeper etc to 
let the recovery task only run on one active node.

> jdbc aggregation repository - recovery taks and cluster issue
> -------------------------------------------------------------
>
>                 Key: CAMEL-4271
>                 URL: https://issues.apache.org/jira/browse/CAMEL-4271
>             Project: Camel
>          Issue Type: Improvement
>          Components: camel-core, camel-sql
>    Affects Versions: 2.8.0
>            Reporter: Claus Ibsen
>             Fix For: Future
>
>
> If you enable recovery on the aggregator eip when using a persistent 
> repository such as the jdbc, then you may have a race condition when having 
> multiple camel apps running in a cluster. As the aggregate recover task is 
> running on each Camel app (node) in the cluster. So they may potentially all 
> pickup recovery tasks, and execute those, which may cause duplicate messages 
> being recovered.
> What is needed is a lock table or some other way to ensure only one recover 
> tasks "wins" and executes.
> We may want to enhance the API in camel to facilitate this kind of locking. 
> As with hawtdb you may have a shared file on the SAN and thus have the same 
> racing issue.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to