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

Claus Ibsen commented on CAMEL-16078:
-------------------------------------

Yeah Caffeine is not ideal for this use-case where a strict LRU order is 
required.

It was used for internal caches to keep the most "active" elements, and there 
its okay that its not 100% lru ordered

In the past we used a LRU implementation that then was requested to switch to 
caffeine by its author
https://issues.apache.org/jira/browse/CAMEL-8602

And this was also before we had our own implementation now with the 
DefaultLRUCache that uses JDK collections.
So I think we can deprecate caffeine and just use our default. 

The internal caches are really only used during startup/warmup and has less 
"contention today". In the past it was the endpoint registry that benefitted 
from concurrency to lookup endpoints. But we now keep known/static endpoints in 
a fixed registry so its not dynamic and dont need the LRU anymore.

> IdempotentConsumer + MemoryIdempotentRepository allows duplicates
> -----------------------------------------------------------------
>
>                 Key: CAMEL-16078
>                 URL: https://issues.apache.org/jira/browse/CAMEL-16078
>             Project: Camel
>          Issue Type: Bug
>          Components: came-core
>    Affects Versions: 3.7.1
>            Reporter: Jeremy Ross
>            Priority: Major
>
> In certain scenarios, it seems that IdempotentConsumer is allowing duplicate 
> message to pass. In the test case below, with a cache size of 50, duplicate 
> message within a few messages of each other are allowed to pass. 
> Test case: https://gist.github.com/jeremyross/d76f658767b4f476f93a12f9067ed515



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to